4

構造を含むCプログラムがあります

struct S{
           int x;
           struct timeval t;
 };

と関数

int func(struct S s1, struct S s2)

Pythonプログラムからこの関数を呼び出す必要があります。私はctypesを使用しています。Pythonの並列構造

import ctypes
from ctypes import *
class S(Structure):
        _fields_ = [("x",c_int),
                     ("t", ?)]

さて、私の質問は、私が何を書くのかということです。場所とそれに関連する依存関係。前もって感謝します。

4

2 に答える 2

6

struct timevalプラットフォームのCインクルードファイル(インターネットが提案している)での定義を見つけてsys/time.h、それをctypes構造にトランスコードします。

私のプラットフォームでstruct timeval

struct timeval {
  long tv_sec;
  long tv_usec;
};

(とにかくこれが標準だと思います)、

class timeval(Structure):
    _fields_ = [("tv_sec", c_long), ("tv_usec", c_long)]

class S(Structure):
    _fields_ = [("x",c_int), ("t", timeval)]

おそらく法案に合うでしょう。

于 2012-04-11T14:30:59.477 に答える
2

それ以上の情報がなければ、それはtimevalの定義になります:

class timeval(Structure):
    _fields_ = [("tv_sec",c_long),
                 ("tv_usec", c_long)]

class S(Structure):
    _fields_ = [("x",c_int),
                 ("t", timeval)]
于 2012-04-11T14:31:58.250 に答える