用于Windows的float _Complex标识符变体?

时间:2013-04-15 10:17:37

标签: c windows visual-studio-2010

# define COMPLEX_FLOAT float _Complex 
# define _Complex_I 1.0fi

这出现在我项目的主头文件中。

extern COMPLEX_FLOAT quantum_conj(COMPLEX_FLOAT a);

这个,在另一个头文件中。但是,当我使用MSVC编译时,我得到error C2061: syntax error : identifier 'quantum_conj'。我收录了<math.h>

我猜在Windows中没有float _Complex的标识符。该项目适用于UNIX / LINUX系列。另外,我发现这些宏(_Complex_I and _Complex)存在于<complex.h>中,用于gnu / bsd发行版。但是,Windows没有complex.h头文件。

但是,我想为Windows编译它。请帮忙。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

复杂算术是C99功能。 MSVC只支持近似C89的东西。 MS已经公开声明它的C编译器不会超越C89。

Ergo,你需要一个不同的编译器。例如,GNU编译器将完成这项工作。在Windows上,通常意味着mingw端口。