gpt4 book ai didi

C: Xcode 和 VS2015 中的复数

转载 作者:行者123 更新时间:2023-11-30 16:59:17 24 4
gpt4 key购买 nike

我使用 Xcode(用 C 语言)编写了一个应用程序,该应用程序严重依赖于复数的使用。即:

#include <complex.h>
...

float a, b;
complex float z;
z = a + I * b;

... etc

现在,这种复数表示法在 Xcode 中效果很好,并且是构建 OS X 兼容版本的应用程序时的完美解决方案。然而,现在我需要构建一个Windows版本,所以我将相同的代码导入到Visual Studio 2015中。但不幸的是,这种表示法不起作用,因为VS对复数的实现有很大不同。在研究了我的问题之后,我没有找到任何关于如何以这种方式处理复数的有用信息,以便在两个 IDE 上成功编译。

这可能是由于我对这个 C99 标准理解不够,或者根本不可能。但是,虽然我觉得我可以使用 VS 自己处理复数的方式重写 C 代码,但这并不理想,因为我现在计划为这两个操作系统进一步开发应用程序。而且并行编写同一代码的两个版本会花费太多时间。

最佳答案

如图所示:'Compiling C code in Visual Studio 2013 with complex.h library '

_Dcomplex dc1 = {3.0, 2.0};

用于变量声明。

从 VS2013 的“complex.h” header 内部来看,微软似乎决定自己实现 C 复数。您必须使用 real() 和 imag() 函数实现自己的算术运算符,即:

double real_part = real(dc1) + real(dc2);
double imag_part = imag(dc1) + imag(dc2);
_Dcomplex result = {real_part, imag_part};

我怀疑微软是否已更正complex.h header ,因此您应该检查 complex.h头文件以获取 float 的详细信息类型

关于C: Xcode 和 VS2015 中的复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com