c - __int64 用于 GCC 作为预处理器选项

标签 c gcc c-preprocessor

通常 Microsoft 代码使用 GCC 无法理解的 __int64。 我知道我可以把它写成这样的宏:

#define __int64 long long

但由于代码的可移植性,我不想这样做。 我正在尝试为 GCC 提供以下预处理器选项:

-D__int64="long long"

由于两个 long 之间的空格,我得到以下错误:

gcc.exe: error: long: No such file or directory

如何解决?

最佳答案

你可以使用 int64_t ,该类型的标准名称,但只有在代码执行 #include <stdint.h> 时才有效,这也许是期望过高。

否则你可以尝试“潜入”typedef在一些常见的标题中:

typedef long long __int64;

也许只有在检测到 GCC 时才这样做。

“按照您的方式”修复它当然是可能的,它看起来像是一些引用问题。

关于c - __int64 用于 GCC 作为预处理器选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173717/

相关文章:

c - 在 Debian Linux 上使用 gcc 或 g++ 运行 C/C++ 代码时出错

c++ - 如何在 os x 10.10 中使用 Homebrew 软件安装 gcc -4.8.4

C指针运算效率

c - 在ci中交换两个数字只需谷歌c程序中的编码然后我写的代码是不同的

c++ - 添加 "extern C"作为符号的编译器选项?

c++ - C++ 在编译时是否支持全局 header ?

c - 如何调试预处理器宏

c - C 中的宏指令——我的代码示例不起作用

c - 如何将 GDBusInterface 转换为 GDBusProxy?

c - 声明 char* 不适用于 strcat()