gcc 中的 ffreestanding
是什么?它是干什么用的 ?我遇到了以下情况:
gcc -ffreestanding -m32 -c kernel.c -o kernel.o
又不明白,到底是什么意思。
最佳答案
独立
环境是标准库可能不存在的环境,程序启动不一定在“main”。选项 -ffreestanding
指示编译器不假定标准函数具有它们通常的定义。
默认情况下,GCC 将充当托管实现的编译器,将 __STDC_HOSTED__
定义为 1 并假定在使用 ISO C 函数的名称时,它们具有标准中定义的语义。要使其充当独立环境的一致独立实现,请使用选项 -ffreestanding
。然后它将 __STDC_HOSTED__
定义为 0,并且不对标准库中的函数名称的含义进行假设。
欲了解更多信息,This链接可能有帮助。
关于c - gcc 中的 -ffreestanding 选项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692428/