使用std ::与g 复制

Using std::copysign with g++

本文关键字:复制 使用 std      更新时间:2023-10-16

我刚刚使用std :: copysign。

在第一次测试中,我尝试在MSVC中尝试进行一些算法测试。现在,我尝试将此C (11)代码移植到Xilinx Zynq平台(A9 FPGA)。

这是如此远,除了没有copysign在内,包括cmath。因此,我必须使用CopySign而不命名空间。

将此功能添加到名称空间的正确方法是什么?

ps:我不想仅仅手工管理不同平台上的相同文件。

编译标志为:

-c -fmessage-length=0 -MT"$@" -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -std=c++11

您可以为MSVC创建宏。

#if defined(_MSC_VER) 
#define copysign std::copysign
#endif

但是,C 11应该具有性病名称空间。如果您不启用C 11编译,则可能会得到一组较旧的库?我会检查以确保您是。如果您无法在平台上使用C 11编译,则以上应该有效。如果需要,添加更多预处理器标志以针对更多平台。

另一个选择是

using namespace std;

将涵盖两种情况。