社区
C#
帖子详情
如何在c#里调用c++库的函数?参数为char*,c#应该传什么参数进去呢?
boarduck
2004-08-16 11:23:31
[DllImport("Test", SetLastError=true)]
public static extern int GetName(char* name, char* addr);
用string肯定不行,而且unsafe中无法取得string这种托管代码的地址和大小..
用char*也不能成功..
急,在线等!!
分不够再加!!
...全文
920
14
打赏
收藏
如何在c#里调用c++库的函数?参数为char*,c#应该传什么参数进去呢?
[DllImport("Test", SetLastError=true)] public static extern int GetName(char* name, char* addr); 用string肯定不行,而且unsafe中无法取得string这种托管代码的地址和大小.. 用char*也不能成功.. 急,在线等!! 分不够再加!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
暗石绿
2004-08-17
打赏
举报
回复
Wtypes.h 中的非托管类型 非托管C 语言类型 托管类名 说明
HANDLE void* System.IntPtr 32 位
BYTE unsigned char System.Byte 8 位
SHORT short System.Int16 16 位
WORD unsigned short System.UInt16 16 位
INT int System.Int32 32 位
UINT unsigned int System.UInt32 32 位
LONG long System.Int32 32 位
BOOL long System.Int32 32 位
DWORD unsigned long System.UInt32 32 位
ULONG unsigned long System.UInt32 32 位
CHAR char System.Char 用 ANSI 修饰。
LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPCSTR Const char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPWSTR wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
LPCWSTR Const wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
FLOAT Float System.Single 32 位
DOUBLE Double System.Double 64 位
canoe_eyes
2004-08-17
打赏
举报
回复
http://www.chinabyte.net/20030102/1646672.shtml
看后便知
hivak47
2004-08-17
打赏
举报
回复
StringBuilder可以吗?
020job
2004-08-17
打赏
举报
回复
帮你顶
13880079673
2004-08-16
打赏
举报
回复
关于其他指针类型的C#对应你可以在csdn中搜索UnmanagedType看到
13880079673
2004-08-16
打赏
举报
回复
你可以在网上搜索一下“C#和内存指针类型”
13880079673
2004-08-16
打赏
举报
回复
char *对应的C#类型
[MarshalAs(UnmanagedType.LPTStr)]
StringBuilder sMsgID;
boarduck
2004-08-16
打赏
举报
回复
直接用ref char[] 或ref byte 或 ref StringBuilder传入?
哪dllimport的函数的参数还是char*这样能行吗?
Knight94
2004-08-16
打赏
举报
回复
StringBuilder
速马
2004-08-16
打赏
举报
回复
试试StringBuilder
wnlovezxm
2004-08-16
打赏
举报
回复
byte 类型!
yezie
2004-08-16
打赏
举报
回复
char[]呢?
tongeng
2004-08-16
打赏
举报
回复
也想知道
帮顶~
boarduck
2004-08-16
打赏
举报
回复
顶啊
C#
高级程序设计
为什么要学习
C#
?
C#
是微软的**语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展...
c#
调用
C++
动态
库
函数
char
* 类型对应
C#
参数
c#
调用
C++
动态
库
函数
char
* 类型对应
C#
参数
关于
C#
调用
C++
时候
传
出
参数
有
char
**该如何处理
场景:有一个
C++
的dll中一个非托管
C++
原型如下 extern "C" _declspec(dllexport)void GetResult(
char
* a,
char
** pBuf) { sprintf((pBuf[0]),"vc11111111"); sprintf((pBuf[1]),"vc222222222222222"); }需要在
C#
中使用,普通的
参数
还好,但是遇到...
C#
调用
C/
C++
动态
库
,关于
参数
char
*和
char
**的处理
参数
char
*和
char
**的处理;
Char
Set = C
char
harSet.Ansi;
C#
封装时是可以用string
C#
调用
C++
dll,
C++
返回类型为
char
*,并通过指针
传
出值
C#
调用
C++
dll,
C++
返回类型为
char
*,并通过指针
传
出值编写生成
c++
dllUnity
C#
中
调用
C++
dll 编写生成
c++
dll 在项目属性页修改项目类型为动态
库
(.dll) 编写头文件,声明要导出的
函数
编写一个动态链接
库
,需要在一个头文件.h中声明你要导出的
函数
,并在对应的.cpp中实现需要导出的
函数
。同时也需要定义导出符号,注意导出符号的前缀应保持与项目名一致: 在.cpp文件中,include编写好的对应头文件: 生成解决方案,在工程目录下找到生成的dll,具体位置可以
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章