python - Python的distutils可以编译.S(汇编)吗?

标签 python distutils

我写了一个小的 Python 扩展,它与一个带有一个可选 .S(汇编程序)文件的小型 C 库进行捆绑、编译和静态链接。默认情况下,Distutils 的 Extension() 不识别 .S。是否有编译该文件的好方法,或者我应该直接使用 make?现在我只为稍微慢一点的库编译 C 代码。

最佳答案

我不知道它有多新,但是 Extension 类有一个 extra_objects参数,我发现它可以指定程序集文件。因此,例如,我的 setup.py 看起来像这样:

example_module = Extension('_example',
    extra_compile_args = ['-Wall', '-g', '-std=c++11'],
    sources=['something.cpp'],
    extra_objects=['asm_amd64.s'])

我仔细检查过,如果您使用 nm -D example.so 检查生成的库,如果您将其包含在 extra_objects 中,则汇编函数已正确组装和链接>,但如果您不将其包含在该参数中,则它们不会链接。所以它似乎有效。

关于python - Python的distutils可以编译.S(汇编)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664812/

相关文章:

php - 从远程主机使用 google app engine 发送电子邮件,如何附加文件?

python - 需要更改 virtualenv 的哪些部分才能重新定位它?

python - XlsxWriter 和 Pandas 中的列名问题

python - 如何从字符串中删除前导和尾随空格?

Python distutils gcc 路径

python - 我应该将 C 库与我的 Python 应用程序捆绑在一起吗?

uninstallation - 如何卸载通过 distils 安装的 pycocotools

python - 为什么 setuptools 不复制我的文件,而 distutils 却复制?

Python - 十进制到整数低字节然后高字节

python - 在 open cv 中检测橙色的推荐颜色空间是什么?