【1】动态链接库的创建
[1.1]文件的创建
(1)新程序直接创建
(2)exe修改为动态链接库(修改配置类型为dll)
【1.2】动态库中的头文件和应用文件
.h文件
#pragma once
//test.h
#pragma once
class Mymath {
int sum(int, int);
int sub(int, int);
};
.cpp文件
#include"pch.h"
#include"pycall.h"
#define DLLEXPORT extern "C" __declspec(dllexport)
//两数相加
DLLEXPORT int sum(int a, int b) {
return a + b;
}
//两数相减
DLLEXPORT int sub(int a, int b) {
return a - b;
}
【2】python程序的创建
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# here put the import lib
import ctypes
import os
CUR_PATH=os.path.dirname("H:\\VS2017example\\PYOFCPLUS\\pythonusedll\\")
dllPath=os.path.join(CUR_PATH,"CPLUSTOPYTHON.dll")
print (dllPath)
mydll=ctypes.cdll.LoadLibrary(dllPath)
print(mydll)
pDll=ctypes.WinDLL(dllPath)
print(pDll)
pResutl= pDll.sum(1,4)
pResult2=pDll.sub(1,4)
print (pResutl)
print (pResult2)