如何使用不同的浮点选项编译部分代码? [关闭]

问题描述 投票:0回答:1
我正在使用Intel编译器优化某些C ++代码,并且需要在单个源文件的某些部分代码中使用不同的编译选项。

我知道#pragma pack指令可以在代码内更改结构成员的对齐方式,但我想知道其他选项是否还有其他指令。

就我而言,我正在使用/fp:precise选项编译我的代码,但我想在代码的某些部分中使用/fp:fast

c++ pragma
1个回答
1
投票
您可以使用#pragma float_control(受#pragma float_control和Intel®C ++编译器支持)选择

某些浮点选项用于特定功能

但是,请注意链接文档中的重要警告:

float_control编译指示与/ fp的行为不同 编译器选项。 float_control编译指示仅控制部分 浮点行为。它必须与fp_contract和 fenv_access编译指示重新创建/ fp编译器选项...

使用此指令和相关的MSVC指令

will

,您可以使用不同的选项来编译代码段以单个转换单元
根据链接文档中显示的表格(仅在引用的文字下方),#pragma/fp:precise之间的

only

差异由/fp:fast编译指示控制(但您需要其他人才能切换)来自float_control),因此类似以下代码的代码将允许给定源文件中的一个函数使用/fp:strict选项:fast
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.