我有一個用tcl編寫的腳本,用於加載一個dll文件。我想在python中加載這個文件。我不知道如果dll文件是用tcl編寫的,但是因爲tcl文件導入它,我認爲它是用tcl編寫的。我試圖使用WinDLL(「path_to_dll」),但我得到沒有提供名稱的模塊。如何從Python加載一個用tcl編寫的dll文件
1
A
回答
2
最簡單的方法是在Python進程中使用Tkinter包及其內置的Tcl解釋器。
如果它是一個Tcl擴展dll,那麼沒有太多的設置首先從Python調用它是沒有意義的。
1
Python和Tcl具有完全不同的C API;根本沒有理由期望爲其中一個編寫的二進制庫可以與另一個編譯器一起工作。編寫一個庫可以使用它加載到的任何庫的API - 從Tcl的角度來看,這將涉及到與Tcl存根庫的鏈接,這樣就沒有討厭的硬綁定到API - 但是我不'不知道如何在Python的方面做到這一點,它試圖做的事情絕對是非常棘手的事情。更實際的做法是讓一個庫包含一個獨立於語言的實現,然後再將另外兩個API綁定到特定語言(綁定層甚至可以使用像SWIG這樣的工具自動生成,儘管這不能解決語言阻抗問題問題)。
當然,如果您只是想從一種語言編寫庫並從另一種語言中使用庫,那麼可以這樣做。畢竟,一個庫只是磁盤上的字節。通常,讓專業工具(編譯器,鏈接器)看起來更容易;但是,圖書館的數據格式並不是最簡單的事情!
相關問題
- 1. 從.NET程序集中加載用C(DLL)編寫的Tcl包
- 2. 如何在tcl中編譯dll加載
- 3. 編寫一個Tcl擴展,可用於多個版本的Tcl
- 4. 如何使用一個DLL從Python的
- 5. 加載一個文件python
- 6. 如何編寫批處理文件來執行TCL文件
- 7. 在Windows中加載.dll文件Python 3.4
- 8. 如何使用Iron python加載DLL?
- 9. 如何確定Assembly.LoadFrom確實加載了一個DLL文件?
- 10. 從TCL調用python腳本並自動創建一個文件
- 11. 如何用Python編寫csv文件?
- 12. 如何用Python編寫MIDI文件?
- 13. 如何從mfc DLL加載ActiveX DLL
- 14. 如何在PHP中加載DLL文件
- 15. 如何編寫或編輯Python文件?
- 16. 如何在python中加載C#的dll?
- 17. 如何在C#中加載一個DLL#
- 18. 加載的dll文件
- 19. 寫入/從文件加載
- 20. 如何寫一個文件在Python
- 21. 如何從SDK插件數據文件夾加載dll?
- 22. Tcl:使用tcl編寫lambda和map 8.6
- 23. C#多態 - 從DLL文件加載類
- 24. 從其他文件夾加載dll
- 25. 從android_assets文件夾動態加載dll
- 26. 使用LinqtoCSV DLL編寫.CSV文件
- 27. 如何使用一個按鈕從文件加載文本?
- 28. 如何使用環境模塊文件(tcl腳本)加載virtualenv?
- 29. 如何從tcl文件更改用戶
- 30. 如何從另一個python文件運行一個python文件?