为什么Python ctype c\u char\p在OSX和Windows上返回不同的值?

2024-04-20 04:16:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习更多关于Pythons ctypes模块的知识,并注意到一个奇怪的地方,我不知道该如何解释。你知道吗

在Windows(Python 2.7.4)上,返回以下内容:

>>> from ctypes import *
>>> c_char_p("Hello World!")
c_char_p('Hello World!')

而在OSX(Python 2.7.2)上,返回以下内容:

>>> from ctypes import *
>>> c_char_p("Hello World!")
c_char_p(4479401388)

另外,在OSX上,c_char_p("Hello World!")每次运行时都返回不同的数值。你知道吗

有人能解释一下为什么会这样吗?你知道吗

提前谢谢。你知道吗


Tags: 模块fromimporthelloworldwindows地方ctypes
1条回答
网友
1楼 · 发布于 2024-04-20 04:16:58

查看the source__repr__只会显示字符串的内容,如果

  1. 在Windows上运行;以及
  2. ^{}返回TRUE。你知道吗

如果可能的话,他们可能希望显示一个字符串表示,因为这是一个非常有用的东西,但是如果它指向某个意想不到的地方,就不会使程序崩溃。IsBadStringPtr只存在于Windows上,需要进行第一次检查。坦白地说,我很惊讶他们会使用它,因为它被清楚地标记为过时,并且for good reasons。你知道吗

相关问题 更多 >