头文件声明
#pragma once
__declspec(dllexport) int add1(int a, int b);
__declspec(dllexport) double add2(double a, double b);
__declspec(dllexport) int add3(char *str1, int size, char *str2);
C文件函数实现
#include <string.h>
#include "calc.h"
int add1(int a, int b)
{
return a + b;
}
double add2(double a, double b)
{
return a + b;
}
int add3(char *str1, int size, char *str2)
{
int total = strlen(str1) + strlen(str2);
if (total >= size)
{
return total;
}
strcat_s(str1, size, str2);
return total;
}
动态调用的方式调用DLL导出函数
#include <stdio.h>
#include <Windows.h>
typedef int (*Add1)(int a, int b);
typedef double(*AAA2)(double a, double b);
typedef int(*STRCAT)(char *str1, int size