這是標頭檔案,定義了一個介面 MyHeader.h。
#ifndef MYHEADER_H
#define MYHEADER_H
// 定義匯出DLL函式的宏
#define MY_API __declspec(dllexport)
#ifdef __cplusplus
extern "C"
{
// 告訴編譯器下面是C語言程式碼
#endif
// 函式宣告
MY_API int __stdcall add(int x, int y); // 加法函式
MY_API int __stdcall multiply(int x, int y); // 乘法函式
int subtract(int x, int y); // 減法函式
#ifdef __cplusplus
}
#endif
#endif // MYHEADER_H
這是實現上述介面的原始檔,具體實現。
#include "MyHeader.h"
#include "stdio.h"
// 函式定義
int __stdcall add(int x, int y)
{
// 列印兩個整數的和
printf("加法: %d + %d = %d\n", x, y, x + y);
return 0;
}
int __stdcall multiply(int x, int y)
{
// 列印兩個整數的乘積
printf("乘法: %d * %d = %d\n", x, y, x * y);
return 0;
}
int subtract(int x, int y)
{
// 列印兩個整數的差
printf("減法: %d - %d = %d\n", x, y, x - y);
return 0;
}
test demo
#include <iostream>
#include "MyHeader.h"
#pragma comment(lib,"fengzhuangC.lib")
int main()
{
int a = 5;
int b = 3;
// 呼叫add函式
add(a, b);
// 呼叫multiply函式
multiply(a, b);
// 呼叫subtract函式
subtract(a, b);
return 0;
}