我的程序中有一個嵌入式Python解釋器。我想導出一個模塊,其中定義了我的程序中的值,並且能夠從python腳本中更改它們。例如 在C: int x = 1;
從python改變C變量?
在python: import embedded embedded.x = 2
在C : printf("%d",x);
輸出: 2
這是可能的,或者我必須導出功能可改變在C什麼?
我的程序中有一個嵌入式Python解釋器。我想導出一個模塊,其中定義了我的程序中的值,並且能夠從python腳本中更改它們。例如 在C: int x = 1;
從python改變C變量?
在python: import embedded embedded.x = 2
在C : printf("%d",x);
輸出: 2
這是可能的,或者我必須導出功能可改變在C什麼?
不需要導出函數,但最簡單的方法是使用PyModule_GetDict()
和PyDict_GetItemString()
來獲取賦予x
屬性的值。
如果你不想主動檢查你的C代碼中的PyObject的值,我認爲你需要導出函數來修改C中的表示。我不是專家,但我不認爲有一個自動映射。