首页 > 其他分享 > - gcc 中的 -ffreestanding -ffreestanding -fno-rtti -fno-exceptions 选项是什么?

- gcc 中的 -ffreestanding -ffreestanding -fno-rtti -fno-exceptions 选项是什么?

时间:2022-10-13 22:33:33浏览次数:48  
标签:选项 __ gcc ffreestanding exceptions fno rtti

freestanding选项:

  一个 freestanding环境是一种标准库可能不存在的环境,程序启动可能不一定在“main”。选项 -ffreestanding指示编译器不要假设标准函数有它们通常的定义。

  默认情况下,GCC 将充当托管实现的编译器,定义 __STDC_HOSTED__作为 1 并假设当使用 ISO C 函数的名称时,它们具有标准中定义的语义。要使其成为独立环境的符合标准的独立实现,请使用选项 -ffreestanding .然后它将定义 __STDC_HOSTED__到 0,而不是对标准库中函数名称的含义进行假设。

fno-rtti选项:

  禁用运行时类型信息
fno-exceptions选项:

  禁用异常机制

  总结:一般只有对程序运行效率及资源占用比较看重的场合才会使用, 如果要做这两个的话最好连libstdc++和其他所有的的c++库都用这两个参数重新编译一遍, 否则光是你自己的程序禁用了这两个特性, 而别的库依然开着, 效果就大打折扣了。

 

标签:选项,__,gcc,ffreestanding,exceptions,fno,rtti
From: https://www.cnblogs.com/zhangsanlisi411/p/16789988.html

相关文章