【发布时间】:2020-06-12 13:40:34
【问题描述】:
我正在使用英特尔编译器优化一些 C++ 代码,我需要在单个源文件中的某些代码部分使用不同的编译选项。
我知道#pragma pack 指令可以更改结构成员在代码中的对齐方式,但我想知道是否还有其他选项可用于其他指令。
就我而言,我正在使用/fp:precise 选项编译我的代码,但我想在代码的某些部分使用/fp:fast。
【问题讨论】:
-
请注意
#pragma pack改变了结构布局,即它本质上改变了结构定义。如果您在某些翻译单元中使用它,但在共享访问该结构实例的其他翻译单元中不使用它,您的代码将无法工作。 -
每个编译单元都是单独编译的。生成的目标文件链接在一起。您可以为每个编译单元使用不同的编译器标志。
-
这个问题太宽泛,缺乏自己的研究。你说“我想知道是否有其他选项的其他指令”。显而易见的答案是“嗯,是的”。要看的地方是英特尔的编译器文档,特别是software.intel.com/content/www/us/en/develop/documentation/…。