簡單的記錄一下,僅供參考。
這句好像一定要呼叫,否則py_initialize()就會異常,可能跟路徑有關。不知道怎麼設定可以不用呼叫這一句?
2 處理python函式返回值的時候,如果返回值是單個字串,以下寫法是對的:
pyobject* pret = pyobject_callobject(pfunc, args);
char *sourcecode;
pyarg_parse(pret, "s", &sourcecode);
注意: 接收返回字串的sourcecode只能定義成 char *,而且要傳入&sourcecode,。
類似以下的寫法都不行:
char sourcecode[100];
pyarg_parse(pret, "s", &sourcecode); //亂碼,即使沒有中文
char *sourcecode;
pyarg_parse(pret, "s", sourcecode); //接收的字串無效
網上還有人說使用pystring_asstring,但是python3.+這個函式已經沒有了,說是被pybytes_asstring這個函式取代
但是試了一下pybytes_asstring接收到的字串也會亂碼(確定沒有中文字元返回)。不知道為什麼,有知道的童鞋可以說說哈。
c呼叫python遇到的那些坑
首先得保證安裝完整python的元件 我的是debian系統 apt get install python dev 編譯c程式時候不能簡單的 gcc c 因為會找不到相關的標頭檔案 需要gcc c wall i usr include python2.7 lpython2.7 如果你的python安...
c 呼叫python的方法和坑
1.ironpython 這個東西用.net做了乙個pyhon直譯器,理論上來說這個東西可以做到和c c 呼叫pyhton一樣。實際上東西我沒咋研究,因為只支援py2。坑的一匹 順帶一提,這個東西是乙個非微軟維護的開源專案,用起來沒有巨硬的支援的。2.使用命令列間接呼叫 這是網上實際使用較多的一種方...
python 遇到的各種坑
錯誤 unbound method read must be called with rawconfigparser instance as first argument got str instance instead 解答 因為read不是靜態方法,所以必須例項化才能使用 錯誤 valueerr...