新建项目,选择Visual C++下的Windows桌面程序,选择动态链接库程序,设置保存路径和文件名,默认会生成一些文件,包括预编译头文件。
- 不带头文件
// ImageMosaic.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
// 这里编写主要函数,即在外部调用dll时要引用的函数
extern "C" _declspec (dllexport) void ImageUnit(int *data, int M, int N, int num)
{
}
编译项目即可,右键项目,Build,即可在Debug目录里生成lib和dll文件。
- 带头文件
新建h文件:右键项目,Add一个h文件:
#pragma once
#ifndef SCM_H // 匹配h文件名
#define SCM_H
extern "C"
{
_declspec(dllexport) void invSIRT(float **TArray, float MeaAmp[], int iters, float x[]);
_declspec(dllexport) void invSVD(float **TArray, float MeaAmp[], float lemt, int iters, float x[]);
_declspec(dllexport) void invCG(float **TArray, float MeaAmp[], int iters, float x[]);
}
#endif
在cpp文件里引用刚才Add的头文件,将头文件里的文件全部实现。
// SCM_Method.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include "SCM.h"
void invSIRT(float **TArray, float MeaAmp[], int iters, float x[])
{
}
void invSVD(float **TArray, float MeaAmp[], float lemt, int iters, float x[])
{
}
void invCG(float **TArray, float MeaAmp[], int iters, float x[])
{
}