我已用C定義的下列枚舉++ API:的Python:檢索從C枚舉可變++使用ctypes的
typedef enum RESULT_ENUM
{
SUCCESS,
ERR_INVALID_PORT_DEFINITION,
ERR_TOO_MANY_SAMPLES,
ERR_RECORDING_THREAD_ALREADY_RUNNING,
ERR_RECORDING_WITHOUT_APPLY_SETTINGS,
...
}RESULT;
我在C++中的程序使用該API和創建:
RESULT res;
然後,它使用功能從API到設定值內res
,例如:
res = SetProfile(APP_PROFILE);
res = SetDynamicImageFilter(filterType);
res = StartCalibration();
我要到c reate一個Python程序,它使用ctypes完成相同的操作(字面意思)。 如何用Python語言翻譯RESULT res;
?我如何使它包含函數所需的結果 ?
編輯:
這些函數返回匹配RESULT
枚舉,價值觀。我想用Python獲取這些枚舉器,我該怎麼做?我目前正在獲取對應於枚舉值的數字。
在Python中重新創建'enum'有點笨拙,因爲它不適合語言的設計。有關示例,請參閱[本文](http://stackoverflow.com/questions/1546355/using-enums-in-ctypes-structure)。 – Tim
在C++中,res由API在內部進行更改,並且可由C++程序訪問。有沒有一種方法可以模仿Python中的這種行爲?像創建一個會根據C++ API改變的'ctypes'變量? – galah92