Visual studio 2010 如何制作MS Visual C++;使用LP64而不是LLP64 我想知道是否可以使用VC++ LP64 < /C> >代替“代码> LLP64 < /Cord>”,我知道我可以使用另一个编译器,例如GCC或英特尔C++,但是我想用VC++来解释各种原因。

Visual studio 2010 如何制作MS Visual C++;使用LP64而不是LLP64 我想知道是否可以使用VC++ LP64 < /C> >代替“代码> LLP64 < /Cord>”,我知道我可以使用另一个编译器,例如GCC或英特尔C++,但是我想用VC++来解释各种原因。,visual-studio-2010,visual-c++,64-bit,abi,Visual Studio 2010,Visual C++,64 Bit,Abi,不需要与Microsoft标头等兼容,我已经在使用LIBC作为我的运行库。您可以尝试使用 \#define long long long 或 所以试试看 /Dlong="long long" 但这可能很危险有时候“你不能”也是一个答案。因为这是不可能的(据说是因为) 改为使用便携类型(#include): int8\u t-一个8位整数 int16\u t-一个16位整数 int32\u t-一个32位整数 int64\u t-一个64位整数 另外,作为一种可能的解决方法,您可以使用C

不需要与Microsoft标头等兼容,我已经在使用LIBC作为我的运行库。

您可以尝试使用

\#define long long long

所以试试看

/Dlong="long long"
但这可能很危险

有时候“你不能”也是一个答案。因为这是不可能的(据说是因为)

改为使用便携类型(
#include
):

  • int8\u t
    -一个8位整数
  • int16\u t
    -一个16位整数
  • int32\u t
    -一个32位整数
  • int64\u t
    -一个64位整数


另外,作为一种可能的解决方法,您可以使用Cygwin,它使用LP64。

为什么?如果需要64位整数,只需使用
int64\u t
。使用该逻辑,不需要使用
long
long
short
:|如果需要具有特定宽度的整数类型,则应使用特定的固定宽度整数类型。这就是这些类型的用途。如上所述,该逻辑对
short
long
long
以及普通
char
类型没有合法的用途。我只是问如何告诉VC++使用
LP64
而不是
LLP64
。使用GCC可以使用
-mlong32
实现相反的操作。您不能。故事的结尾。这将打破每个系统调用和对其他库的调用,除了这是一个非常糟糕的编码实践之外。不要这样做。请注意,它将用“long long”替换现有的“long long”。
/Dlong="long long"