寫C++ DLL時需要寫的外部介面標頭檔案
阿新 • • 發佈:2019-01-04
#ifndef WAVELET2D_H
#define WAVELET2D_H
#include <vector>
#include <complex>
using namespace std;
//the dll exports
#if defined WAVE_EXPORT
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
extern "C"
#define WAVELET2D_H
#include <vector>
#include <complex>
using namespace std;
//the dll exports
#if defined WAVE_EXPORT
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
extern "C"
EXPORT void get_decompose_signal(float *sig, int data_len, float *i_dwt_out);
2,在編寫DLL的時候,在專案屬性--》c/c++ ---》前處理器定義中,有要定義的出口的名字,比如這裡的WAVE_EXPORT,防止出現DLL連結不一致的錯誤。
3,對比一下,發現特點,自己方便寫
#include <string>
#include <algorithm>
using namespace std;
//the dll exports
#if defined LVDLL_EXPORTS
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
extern "C"
EXPORT void get_decompose_signal(float *sig, int data_len, float *i_dwt_out);
#endif/* WAVELET2D_H */
4,編寫dll,可以使用3的方式,也可以編寫def模組:
LIBRARY 檔名字
EXPORT "對外介面" @1
5,兩種方式使用其一就可以了。避免出現多種呼叫。