我正在研究的代码应该可以为托管和独立环境构建,为后一种情况提供某些stdlib函数的私有实现.
我可以在普通的工作站/构建服务器上使用GCC进行可靠的测试吗?使用GCC编译独立环境
"-ffreestanding"选项看起来很有前途,但它似乎"只"禁用内置函数并正确设置STDC_HOSTED宏,它仍然提供所有系统头.
选项"-nostdinc"限制性太强; 我仍然想使用独立实现所需的头文件(特别是stddef.h和limits.h).
我在这里错过了什么?
哦,我现在正在使用GCC 4.4.3,很快就会升级到4.5.0.
海湾合作委员会的文件http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html说(下-ffreestanding)独立环境意味着-fno-builtin.我可能误解了一个独立环境是什么或它是如何工作的,但在我看来,由于内置函数通常发出内联代码而不是调用库函数,这对于标准库可能缺失的独立环境来说是理想的.功能甚至完全缺失.
那么为什么我们不想在独立环境中使用biltins呢?