ubuntu

ubuntu gcc如何编译Python扩展模块

小樊
48
2025-10-13 22:54:51
栏目: 编程语言

在Ubuntu上使用GCC编译Python扩展模块,你需要遵循以下步骤:

  1. 安装必要的软件包: 确保你已经安装了Python和相关的开发工具。你可以使用以下命令安装它们:
sudo apt-get update
sudo apt-get install python3 python3-dev build-essential
  1. 编写C或C++代码: 创建一个名为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);
}
  1. 创建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])
  1. 编译扩展模块: 在终端中,导航到包含example.csetup.py文件的目录,然后运行以下命令:
python3 setup.py build

这将生成一个名为build的目录,其中包含编译后的扩展模块。

  1. 安装扩展模块: 要安装编译后的扩展模块,运行以下命令:
sudo python3 setup.py install

现在,你应该可以在Python中导入并使用你的扩展模块了。例如:

import example
example.hello()

这将输出Hello, World!

0
看了该问题的人还看了