0

うーん、別のプログラミングの質問の人、ハハ。

とにかく、私はpythonを使ったctypesにかなり興味を持つようになりました。ctypesを使用すると、基本的にpython内でc変数を呼び出すことができます(素晴らしい、私は知っています)。したがって、ctypesを使用して変数を宣言する方法は次のとおりです。

import ctypes as c
class test(c.Structure):
   _fields_ = [
               ("example" , c.c_long),
               ...
              ]

ただし、文字列フォーマットを使用する場合は常に次のようになります。

    print("test: %d" % (test.example)

これは、Cの長さではなく、Pythonの整数である必要があることを示しています。

ここで複雑になります。例が実際に宣言されていないため、.valueメソッドを実行できません。構文エラーが返されます。例をPython整数として宣言する方法がないため、宣言できません。(少なくとも、私が知る限り)

どんな助けでもありがたいです!

4

1 に答える 1

4

testクラスです。test代わりに次のインスタンスを作成します。

import ctypes as c

class test(c.Structure):
   _fields_ = [("example" , c.c_long)]

t = test(5)
print(t.example) # -> 5
print("%d" % t.example) # -> 5
于 2013-03-01T05:48:48.480 に答える