我不知道这个问题以前有没有回答过,但我找不到相关的答案。如果有一个简单的C程序输出我们所处的操作系统,那么是否可以动态地检测到,而不是重新编译它呢?我们可以使用宏,如_WIN32、_WIN64、linux等,但是我们必须每次在每个系统上编译代码。我们可以只用一个编译来完成吗?一个简单程序的例子:#define OS "WINDOWS"
我有一个用C编写的嵌入式应用程序,运行在486/386DX风格的处理器()上的FreeDOS上。这台电脑有256MB的内存,但我似乎不能使用大部分内存。我已经写了一个简单的程序来调查(在一个循环中调用malloc(),直到返回空指针),虽然每个malloc()请求的大小对结果的影响很小,但它总是在300kB左右。我的代码必须映射16位内存块,因为我的malloc()实现似乎只接受unsigned short