MSVC 环境如何使用复数?

王桑的一天 2021-04-10 11:55:45
我 C 写了一个 dll , 里面使用了复数计算, 用到了 _Complex_I, 这个应该是虚部

#include <complex.h>

1.4 * _Complex_I;



用mingw gcc 编译成 dll 是没问题的, 使用都没问题。现在想移值到 msvc 上面, 因为调用的程序用 msvc 编译的。
所以这段 C 程序 在msvc 上编译不了了, 就是 _Complex_I 有红色波浪线, 提示:表达式必须包含算术类型。

我想知道, 在 MSVC 环境, _Complex_I 使用不了? 因为不支持C99什么的? 要用什么替代?

我看 complex.h 文件里有定义:


//complex.h

#define _DCOMPLEX_(re, im) _Cbuild(re, im)
#define _FCOMPLEX_(re, im) _FCbuild(re, im)
#define _LCOMPLEX_(re, im) _LCbuild(re, im)

#define _Complex_I _FCbuild(0.0F, 1.0F)
#define I _Complex_I


为什么会报错?
...全文
230 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王桑的一天 2021-04-13
  • 打赏
  • 举报
回复
用不了, 自己处理复数运算
王桑的一天 2021-04-11
  • 打赏
  • 举报
回复
我是 windows 平台下 mingw 编译 成dll 是没问题的

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧