我用C语言写了一个函数,这个函数调用了好多其他的C库和自定义函数。然后以这个函数为出口(export)做成了DLL,C#编写的程序调用这个DLL。我自己编写了测试程序,这个函数都能正常工作,但C#调用这个函数的DLL后,总是出现偶尔的错误,不知道C#调用C语言写的DLL会有什么样的问题?如何排除这些问题?
用c创建DLL是不是就在要创建的函数声明前加上__declspec(dllexport)就可以了?还有其他需要考虑的吗?谢谢!
追答没什么需要特别注意的,只要声明编译的是一个dll文件就可以了,当然额外还有一些编译选项,不过不是必须的。
dll和exe在PE文件结构上其实并没有本质的区别,你把编译出来的dll后缀改为exe一样可以调用的。