C#调用C语言编写的DLL会不会产生什么问题?

我用C语言写了一个函数,这个函数调用了好多其他的C库和自定义函数。然后以这个函数为出口(export)做成了DLL,C#编写的程序调用这个DLL。我自己编写了测试程序,这... 我用C语言写了一个函数,这个函数调用了好多其他的C库和自定义函数。然后以这个函数为出口(export)做成了DLL,C#编写的程序调用这个DLL。我自己编写了测试程序,这个函数都能正常工作,但C#调用这个函数的DLL后,总是出现偶尔的错误,不知道C#调用C语言写的DLL会有什么样的问题?如何排除这些问题? 展开
 我来答
411129362
2012-03-01 · TA获得超过4189个赞
知道小有建树答主
回答量:822
采纳率:0%
帮助的人:965万
展开全部
首先,C#是可以调用C写的DLL的,引用时VS会自动将这个DLL转换为托管程序。
但是你这个DLL是去调用别的C库就会出问题,因为别的库依然是非托管的。
追问
用c创建DLL是不是就在要创建的函数声明前加上__declspec(dllexport)就可以了?还有其他需要考虑的吗?谢谢!
追答
没什么需要特别注意的,只要声明编译的是一个dll文件就可以了,当然额外还有一些编译选项,不过不是必须的。
dll和exe在PE文件结构上其实并没有本质的区别,你把编译出来的dll后缀改为exe一样可以调用的。
pk3995519
2012-03-03 · TA获得超过158个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:86.5万
展开全部
[url=http://www.baidu.com/]百度搜索[/url]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgj0818
2012-03-06
知道答主
回答量:3
采纳率:0%
帮助的人:4595
展开全部
C#完全可以调用,你只需要注意点就是[DllImport("AIO_API.dll")]的每次使用和释放。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q296672901
2012-03-07 · 超过24用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:66.5万
展开全部
一般不会有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式