C语言 float _windows的复杂标识符变体


# 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>

我猜没有标识符作为float _Complex在窗口。这个项目可以很好地编译UNIX/LINUX系列。此外,我还了解到这些宏(_Complex_I and _Complex)存在于gnu/bsd发行版的<complex.h>中。但是,windows没有complex.h头文件。

但是,我想为Windows编译这个。请帮助。

复杂算术是C99的一个特性。而MSVC只支持C89的近似值。微软已经公开声明它的C编译器不会超过C89。

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

最新更新