使用C ++创建DLL文件

时间:2017-11-07 18:40:30

标签: c++ c dll

我是C / C ++编程的新手,我需要创建一个dll文件,以便算法模型可以与另一个调用它的程序进行交互。我用C和C ++编写了一个带函数原型和伪返回值的空函数,并分别用gcc和g ++编译。从C文件生成的dll文件很容易与Parent程序集成并返回所需的输出。但是,对于C ++,程序说找不到初始化功能。两个文件中的代码结构如下:

void initialise (int a) {
   return 1;
}
void body (int b) {
   return 1;
}
void close () {
   return 1;
}

编译方法(分别使用mingw gcc和g ++)

gcc -c test.c
gcc -shared -o test1.dll test.o

g++ -c test.c
g++ -shared -o test2.dll test.o

我需要cpp继续我的项目,所以不能使用c。如何使用C编译dll以消除此错误?还请注意C和C ++之间的编译有什么不同导致了这个问题?

1 个答案:

答案 0 :(得分:0)

尝试:extern“c”__ declspec(dllimport)