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を使用していますか?msvcrtWindows専用のDLLです。

于 2012-05-15T06:21:16.053 に答える