dll文件使用python和c++调用

dll是Windows上的动态库文件,常常将需要使用的函数封装在dll文件中,因此dll文件是不存在main入口的,把它想成函数就行,其内容并不神秘。

只是使用的时候需要对dll文件进行加载,加载dll文件后就可以使用里面封装好的函数了。

c++里面调用很简单,Windows封装好了,只需要#include<Windows.h>就可以直接使用,而要想使用Python调用需要使用ctypes库。

这个测试的dll文件是只定义了一个函数add,定义了一个加法运算:

可以看到有一个add函数被暴露出来了

下面使用Python测试一下效果:

from ctypes import cdll

_dll = cdll.LoadLibrary("./dllTest.dll")
res = _dll.add(3,2)
print(res)

运行效果:

c++调用:

#include <iostream>
#include<Windows.h>

int main()
{
   HMODULE module= LoadLibrary(L"dllTest.dll");
   if (module == NULL)
   {
	   return 0;
   }
   
   typedef int(*AddFunc)(int, int);
   AddFunc add;  
   add = (AddFunc)GetProcAddress(module, "add");
   int re = add(2,5);
   std::cout << re <<std::endl;

	return 0;
}

 运行结果:

猜你喜欢

转载自blog.csdn.net/zhou_438/article/details/113819305