相关疑难解决方法(0)

64位Windows上的长位是多少?

不久前,有人告诉我long在64位机器上不是64位,我应该总是使用int.这对我来说没有意义.我已经看到docs(例如Apple官方网站上的文件)说long在编译64位CPU时确实是64位.我查了64位Windows上的内容并找到了

  • Windows:longint保持32位长度,并为64位整数定义特殊的新数据类型.

(来自http://www.intel.com/cd/ids/developer/asmo-na/eng/197664.htm?page=2)

我该怎么用?我应该定义类似uw,sw((UN)签署的宽度)为long如果没有在Windows,否则做对目标CPU bitsize支票?

c c++ windows 64-bit porting

134
推荐指数
5
解决办法
17万
查看次数

为什么我的ctypes长度为4而不是使用64位python的8号?

在这个下游,我得到一个错误Python int too large to convert to C long,这让我怀疑,不知何故ctypes长度太小 - 大小4而不是8.

我对此进行了测试,确实如此.然而,我使用的是Python 2.7 64位(Anaconda).

import ctypes as C
import os
import platform
import numpy as np

print "Python Platform Architecture: ", platform.architecture()[0]
print "Size of ctypes long: ", (C.sizeof(C.c_long))
Run Code Online (Sandbox Code Playgroud)

这是输出:

Python Platform Architecture:  64bit
Size of ctypes long:  4
Run Code Online (Sandbox Code Playgroud)

python ctypes anaconda

2
推荐指数
1
解决办法
228
查看次数

标签 统计

64-bit ×1

anaconda ×1

c ×1

c++ ×1

ctypes ×1

porting ×1

python ×1

windows ×1