通常 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/