在Ubuntu上使用GCC编译Python扩展模块,你需要遵循以下步骤:
sudo apt-get update
sudo apt-get install python3 python3-dev build-essential
example.c的文件,并编写你的C或C++代码。例如:#include <Python.h>
static PyObject* hello(PyObject* self, PyObject* args) {
printf("Hello, World!\n");
Py_RETURN_NONE;
}
static PyMethodDef ExampleMethods[] = {
{"hello", hello, METH_VARARGS, "Prints 'Hello, World!'"},
{NULL, NULL, 0, NULL}
};
static struct PyModuleDef examplemodule = {
PyModuleDef_HEAD_INIT,
"example",
NULL,
-1,
ExampleMethods
};
PyMODINIT_FUNC PyInit_example(void) {
return PyModule_Create(&examplemodule);
}
setup.py文件:
创建一个名为setup.py的文件,用于编译扩展模块。在这个文件中,你需要指定模块的名称、源文件等信息。例如:from setuptools import setup, Extension
module = Extension('example', sources=['example.c'])
setup(name='ExampleModule',
version='1.0',
description='This is a demo package',
ext_modules=[module])
example.c和setup.py文件的目录,然后运行以下命令:python3 setup.py build
这将生成一个名为build的目录,其中包含编译后的扩展模块。
sudo python3 setup.py install
现在,你应该可以在Python中导入并使用你的扩展模块了。例如:
import example
example.hello()
这将输出Hello, World!。