簡體   English   中英

在python中使用cpp項目的dll和.lib文件

[英]Using a cpp project's dll & .lib file in python

因此,使用標准的cpp編譯器,我的應用程序鏈接到.lib文件,然后在運行時,只要dll與可執行文件位於同一文件夾中,一切都神奇地起作用。

但在python中,.lib文件的作用是什么? 我知道你可以使用ctypes來使用dll的功能

from ctypes import*   
dllHandle = cdll.LoadLibrary("C:\\filename.dll") 
or
ctypes.WinDLL ("C:\\filename.dll")

但是不使用.lib文件會丟失什么? 如果不需要,為什么在cpp項目中有必要?

如果在test.dll中導出void foo(),則從應用程序中的main()調用此函數。 當您使用test.lib構建應用程序鏈接時,鏈接器會解析對此導出函數的調用。 但另一種實現此目的的方法是在運行時加載test.dll,獲取void foo()的函數地址並調用它(可以參考http://msdn.microsoft.com/en-us/library/windows/desktop /ms683212%28v=vs.85%29.aspx )。 這不需要任何鏈接到test.lib。 在python中,你正在做類似的事情,test.lib在這里沒有任何作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM