c语言的dll问题

zxjdai 2009-09-28 04:36:01
各位大虾好,小弟有个问题,如下:

现在有一个c语言的程序,我想通过c#来调用它的一些函数接口,可不可以这样,编写一个dll文件,这个文件来访问
这个c语言程序,然后向外提供一个函数接口,由c#来调用。

问题是 :1.dll文件能不能完成这样的工作?
2.如果dll文件能完成这样的工作,那么最后是否需要将这个c语言程序和对应的dll文件都
拷贝到c#工程目录下?
3.有没有其他的好方法?

谢谢。

...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxjdai 2009-09-29
  • 打赏
  • 举报
回复
谢谢,各位,还有个问题,c++语言调用c语言编写的程序怎么掉啊?
铖邑 2009-09-29
  • 打赏
  • 举报
回复
没什么差别,只是函数声明前面加上:extern "C"
C++因为导出函数名的时候,会有一个“_”前缀
fox000002 2009-09-28
  • 打赏
  • 举报
回复
使用的时候把 dll 拷贝到c#工程目录下
fox000002 2009-09-28
  • 打赏
  • 举报
回复
using System.Runtime.InteropServices;
using System;

class call_dll {
[DllImport("libxxx.dll", CallingConvention = CallingConvention.StdCall)]
private static extern int foo(string name);


[STAThread]
public static void Main() {
foo("123");
}
}
oyster2008 2009-09-28
  • 打赏
  • 举报
回复
可以,可以通过PInvoke来调用
铖邑 2009-09-28
  • 打赏
  • 举报
回复
C#可以调用C语言编译的DLL,具体没做过……

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧