1. 程式人生 > >寫C++ DLL時需要寫的外部介面標頭檔案

寫C++ DLL時需要寫的外部介面標頭檔案

#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"

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,兩種方式使用其一就可以了。避免出現多種呼叫。