3

我是学习Python的初学者。我使用的 python 版本是 3.2.1.1 我正在尝试按照 docs.python.org 的教程学习 ctypes

在交互式提示中,

import ctypes
libc = cdll.msvcrt
printf = libc.printf
printf("%d", 42)

它应该返回值 42,但在我的情况下,它返回 0。那么问题是什么?非常感谢。


现在,在我添加一个 >>>from ctypes import cdll 之后,结果变成了显示这个

>>>from ctypes import *
>>>libc = cdll.msvcrt 
>>>printf = libc.printf 
>>>printf("%d", 42)
Traceback (most recent call last):
  File "<stdin>", line1, in <module>
TypeError: 'CDLL' object is not callable
4

1 回答 1

2

实际上,它应该返回2写入的字节数stdout。它似乎在我的 Windows 安装上运行良好(在我添加了缺失的from ctypes import cdll. 你在使用 Windows 吗?msvcrt是一个仅限 Windows 的 DLL。

于 2012-05-15T06:21:16.053 回答