Я написал небольшое расширение Python, которое связывает, компилирует и статически связывается с небольшой библиотекой C с одним дополнительным файлом .S (ассемблер). Расширение Extutils() не распознает .S по умолчанию. Есть ли хороший способ скомпилировать этот файл, или я должен просто отключить его до make
? Прямо сейчас я скомпилирую код C только для немного более медленной библиотеки.Может ли distutils Python компилироваться .S (сборка)?
ответ
Я не знаю, как это новое, но 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
, но они не связаны, если вы не включили его в этот аргумент. Так что это работает.
Как распределено, distutils не знает о коде сборки, и я не знаю о его расширениях, которые позволяют автоматически обрабатывать его. В подобной ситуации я всегда создавал библиотеку отдельно (с C и сборкой по мере необходимости и выполнимо) и использовал только полученный .a
с setup.py.
Существует запрос открытой особенности об этом: http://bugs.python.org/issue2942
- 1. Может ли python distutils скомпилировать код CUDA?
- 2. Python Distutils
- 3. python distutils C++ компиляция
- 4. Как установить python distutils
- 5. Python Distutils исключить setup.py
- 6. Распределение пакетов Python Distutils
- 7. Python, cairo и distutils
- 8. Может ли distutils установить модуль/пакет в качестве исполняемого скрипта?
- 9. не может компилироваться для выпуска, может ли отладка? [iphone]
- 10. Как переопределить python distutils ccompiler.shared_lib_extension
- 11. Может ли% s быть целым числом? * Python код *
- 12. Сборка и сборка Samsung Glalaxy S 3 mini
- 13. Может ли distutils создавать пустые файлы __init__.py?
- 14. Distutils байт-компиляции ошибки в Python 2
- 15. Производительность S/Python Socket?
- 16. Python Distutils - Изменение пути RPM Установка Для
- 17. Может ли сборка не иметь версии?
- 18. Как узнать, может ли сборка использовать MonoTouch?
- 19. Является ли s s эквивалентом s [i]?
- 20. Может ли Agda быстрее компилироваться в пакетном режиме?
- 21. Может ли компилироваться код groovy для запуска в JRE?
- 22. Может ли абстрактное дерево синтаксиса компилироваться несколькими компиляторами или интерпретаторами?
- 23. Distutils не может найти gcc от mingwpy в WinPython
- 24. CentOS 6.7, python distutils и bloody brp-python-bytecompile
- 25. Может ли S/MIME считаться безопасным?
- 26. setup.py distutils test location
- 27. Python XML строка сборка
- 28. Что именно делают distutils?
- 29. В python, почему s * 3 быстрее, чем s + s + s?
- 30. Python скрипт зависит от файла данных (Distutils)