Tôi muốn gọi hàm tùy chỉnh được định nghĩa trong mô-đun python từ C. Tôi có một số mã sơ bộ để làm điều đó, nhưng nó chỉ in đầu ra để stdout.Gọi phương thức python từ C/C++, và giải nén giá trị trả về
mytest.py
import math
def myabs(x):
return math.fabs(x)
test.cpp
#include <Python.h>
int main() {
Py_Initialize();
PyRun_SimpleString("import sys; sys.path.append('.')");
PyRun_SimpleString("import mytest;");
PyRun_SimpleString("print mytest.myabs(2.0)");
Py_Finalize();
return 0;
}
Làm thế nào tôi có thể trích xuất các giá trị trả về vào một đôi C và sử dụng nó trong C?
Bạn đã đọc: http: // docs.python.org/c-api/? Có vẻ như để trả lời câu hỏi của bạn. http://docs.python.org/c-api/number.html#PyNumber_Float dường như là những gì bạn đang tìm kiếm. Có gì sai với nó? Bạn cần thêm gì nữa à? –
Câu hỏi thực sự là cách truy cập đối tượng được trả về từ 'mytest.myabs (2.0)'. Một khi tôi có một con trỏ đến nó, tôi có thể dễ dàng chuyển đổi nó thành một phao bằng cách sử dụng hàm PyNumber_Float. – dzhelil
Chúng ta có thể thấy câu trả lời với một ví dụ mã và được thực hiện với nó không? –