在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。库中,链接器解析对此导出函数的调用。但实现这一目标的另一种方法是在运行时加载test.dll,获取void foo()的函数地址并调用它(您可以参考http://msdn.microsoft.com/en-us/library/windows/desktop/ms683212%28v=vs.85%29.aspx)。这不需要任何到test.lib的链接。在python中,您正在做类似的事情和测试。Lib在这里不起作用
相关文章:
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 解析引用 |exe/dll vs lib
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 从 .lib 文件创建一个.dll文件
- 可执行文件C++包括.obj,.lib和.dll吗?
- 无法在 DLL 中链接 SDL2-static.lib
- 链接器找不到导入的 DLL 的 LIB 文件
- C++:重命名dll和lib并链接
- C++ CLR dll 需要 .lib 文件,但非 CLR 不需要
- 如何找出依赖于LIB文件的DLL列表?
- 链接 .lib 并在 Windows 中使用 .dll 在 C++ 在 Eclipse 中
- 将标头和 lib 转换为 dll 以将其与 c# 一起使用
- 为什么我的程序寻找共享资源.dll而不是Commons.lib
- 从.dll中调用.lib in C
- GHCi 无法在 Windows 上加载.dll lib(C++ lib)
- 如果在 DLL/Lib 中定义了对象,是否可以在客户端中实例化对象?
- "/MD /MT"和"dll lib"之间的概念歧义
- 在dll/lib上创建链接
- 如何检查 dll/lib 中的函数是否在 windows 中"C"?