C#能否使用C开发的函数?如何使用?

gamexy 2008-02-02 09:16:15
现在我有别人用C开发的函数,包括:头文件.h,库文件.lib,动态连接库.dll
但是我现在用不惯C或者C++了。很想在C#中调用这些函数,能够做到吗?
如何做呢?
越详细越好,谢谢各位了!我不会吝啬送分的。
...全文
224 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tensionli 2008-02-14
  • 打赏
  • 举报
回复
直接引用dll
葫芦鬼 2008-02-14
  • 打赏
  • 举报
回复
1、看.h 将所有的数据结构用C#重写. 保证布局跟.h定义的一致。
2、dllimport dll中的函数。
3、调用。

Q_282898034 2008-02-14
  • 打赏
  • 举报
回复
MSDN 里查 DllImport,有很详细的例程
HellMoxi 2008-02-14
  • 打赏
  • 举报
回复
学习学习.......
  • 打赏
  • 举报
回复
int ALRpt( char* AlarmSource,
long AlarmNumber,
...);
int ALRpt(string s,long x , ...);
itymx 2008-02-13
  • 打赏
  • 举报
回复
学习学习 顶 !!!! 站个位!!!!!!!!!!!!!
gamexy 2008-02-13
  • 打赏
  • 举报
回复
遇到这样一个问题:多个参数,对应的引用应该怎么写?
C中的函数是这样的:
int ALRpt( char* AlarmSource,
long AlarmNumber,
...);
airwaterland 2008-02-04
  • 打赏
  • 举报
回复
interop机制可以实现.
way1234 2008-02-03
  • 打赏
  • 举报
回复
改写吧,应该不是很难
rangeon 2008-02-03
  • 打赏
  • 举报
回复
当然可以,dllimport
AppFramework 2008-02-03
  • 打赏
  • 举报
回复
补充: using System.Runtime.InteropServices;
AppFramework 2008-02-03
  • 打赏
  • 举报
回复
比如你C写的 FileUtil.dll里有一个函数:

void DeleteFile(char* fileName);

那么在 C# 里可以这样申明这个函数再调用

[DllImport("FileUtil.dll", CharSet = CharSet.Auto)]
public static extern void DeleteFile(string fileName);

然后就可以直接调用:

DeleteFile(...);
wenbin 2008-02-03
  • 打赏
  • 举报
回复
可以使用平台调用
到www.codeproject.com上找点资料,上面有
blestcc 2008-02-03
  • 打赏
  • 举报
回复
可以调用C写的dll
lovehongyun 2008-02-03
  • 打赏
  • 举报
回复
应该可以吧...

查一下.
None465465535 2008-02-03
  • 打赏
  • 举报
回复
C函数如下:


void __stdcall void MyAPI()


C的项目里另个API.def文件
内容如下:

LIBRARY "API"
EXPORTS
MyAPI = MyAPI

C#导入代码:

[DllImport("FileUtil.dll", CharSet = CharSet.Auto)]
public static extern void MyAPI();


调用代码:

MyAPI();
gamexy 2008-02-03
  • 打赏
  • 举报
回复
明天去试试看,成功了就来结贴
有问题再来麻烦大家
liulcster 2008-02-03
  • 打赏
  • 举报
回复
6楼正解
cnzdgs 2008-02-03
  • 打赏
  • 举报
回复
做成dll,就像调API一样,参考6楼。
hongqi162 2008-02-03
  • 打赏
  • 举报
回复
封装dll,然后调用
加载更多回复(2)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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