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

ben

因此,使用标准的cpp编译器,我的应用程序链接到.lib文件,然后在运行时链接,只要dll与可执行文件位于同一文件夹中,则所有内容都可以正常运行。

但是在python中,.lib文件起什么作用?我了解您可以通过使用ctypes使用dll的功能

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

但是,不使用.lib文件会丢失什么?如果不需要,为什么在cpp项目中有必要?

潘卡

如果将void foo()导出到test.dll中,并且从应用程序中的main()调用此函数。当您构建与test.lib链接的应用程序时,链接器将对此调用函数的调用解析。但是另一种实现方法是在运行时加载test.dll,获取void foo()的函数地址,然后调用它(您可以参考http://msdn.microsoft.com/zh-cn/library/windows/desktop /ms683212%28v=vs.85%29.aspx)。这不需要任何链接到test.lib。在python中,您正在做类似的事情,而test.lib在这里不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章