정규 글로벌 기능을 가진 파이썬 모듈이 있습니다. C DLL로만 호출 할 수있는 다른 비즈니스 도메인 스크립팅 환경에서 호출해야합니다. 어쨌든 내 파이썬 모듈을 빌드하여 다른 코드에서 DLL에서 내 보낸 표준 C 함수처럼 호출 할 수 있습니까? 이것은 Windows 환경을위한 것입니다. IronPython에 대해서는 알고 있지만 C DLL 함수로 호출 할 수없는 .NET 어셈블리 만 빌드 할 수 있다는 것을 알고 있습니다.Python 모듈에서 C와 유사한 DLL을 빌드하는 방법이 있습니까?
7
A
답변
6
this 코드 페이지 기사를 살펴보십시오. 한 가지 방법은 C DLL에서 파이썬 함수를 랩핑하여 피 호출자에게 노출시키는 것입니다.
COM은이 문제를 해결할 수있는 바이너리 프로토콜입니다. 하지만 당신은 COM 래퍼에서이 python dll을 포장해야 할 것입니다. 그리고 호출 측에도 코드를 추가하십시오.
3
표준 솔루션은 Python 인터프리터 (이미 C DLL 임)를 응용 프로그램에 포함시키는 것입니다.
https://docs.python.org/extending/windows.html#using-dlls-in-practice
2
py2exe에 파이썬 코드에서 컴파일하고 파이썬 코드 + 인터프리터를 내장하여 COM DLL을 생성 할 수 있습니다. AFAIK는 일반 DLL을 아직 지원하지 않습니다. 이를 위해서는 python을 직접 임베딩하는 방법에 대한 dirkgently의 답변을 참조하십시오.
관련 문제
- 1. 모듈에서 C와 Python 함수 결합하기
- 2. 정적 멤버 클래스와 일반 c와 유사한 인터페이스
- 3. 여러 프로젝트로 DLL을 빌드하는 올바른 방법은 무엇입니까?
- 4. Python : Pexpect 모듈에서 re.findall 시뮬레이션
- 5. Visual Studio에서 하나의 프로젝트를 다른 프로젝트로 빌드하는 방법이 있습니까?
- 6. Erlang : Python "webbrowser"와 유사한 모듈이 있습니까?
- 7. 유사한 내가하는 방법이
- 8. VAC 파일의 GAC에 DLL을 설치하는 방법이 있습니까
- 9. ironpython의 zipfile에서 python 스크립트를로드하는 방법이 있습니까?
- 10. C와 유사한 정의 문자열을 구문 분석하는 가장 효과적인 방법은 무엇입니까?
- 11. python mechanize 모듈에서 히스토리를 어떻게 비활성화 할 수 있습니까?
- 12. MSVCx80.dll에 의존하지 않고 QTcore4.dll을 빌드하는 방법은 무엇입니까?
- 13. 파이썬 : C와 같은 루프가 있습니까?
- 14. python argparse를 사용하여 도움말을 벗어나는 방법이 있습니까?
- 15. PyUSB/Python 2.7에 대한 유사한 USB 기능
- 16. Python DLL을 사용하여 Python 스크립트를 실행하는 방법은 무엇입니까?
- 17. 인터페이싱 C와 파이썬
- 18. 지정하지 않으면 기본적으로 CultureInfo.InvariantCulture를 항상 따르도록 DLL을 설정하는 방법이 있습니까?
- 19. Visual Studio에서 DLL을 언로드 할 수있는 방법이 있습니까?
- 20. Python Pylons와 유사한 PHP 프레임 워크
- 21. Pure Python Tidy와 유사한 응용 프로그램/라이브러리
- 22. Python dict question. 유사한 문자열을 그룹화하는 방법?
- 23. Python 코드에서 .NET DLL을 빌드 하시겠습니까?
- 24. pychecker/pylint를 Tornado 템플릿의 python 코드에 적용하는 좋은 방법이 있습니까?
- 25. Python : int에서 long int 로의 자동 변환을 유지하는 방법이 있습니까?
- 26. Vim Python 시스템 모듈에서 작동하지 않는 omni-completion
- 27. ANSI C와 ISO C 사이에 차이점이 있습니까?
- 28. JNI C와 C++에서 다른 호출이 있습니까?
- 29. dll을 함께 묶을 수 있습니까?
- 30. 자바 - C와 같은 포크?
+1 : 가장 간단한 방법 – jfs