C#如何调用C++创建的DLL?

honglian 2011-05-09 10:52:11
又来求助了,最近工作上需要用到C#调用C++创建的DLL,但是遇到二级指针时就不会用了,请大家帮帮忙!
C++DLL源码如下:

#include "stdafx.h"
#include "iostream"
#include "ZM30X.h"

using namespace std;

namespace ZKA{
struct ZM30X::MyStruct{
public:
int a;
int b;

public:
MyStruct(){
a = 145;
b = 389;
cout<<"MyStruct constructor!"<<endl;
}

};

ZM30X::ZM30X():myStruct(new MyStruct()){
cout<<"ZM30X constructor!"<<endl;
}

ZM30X::~ZM30X(){
delete myStruct;
}

ZM30X_API int ZM30X::Add(){
int i = myStruct->a + myStruct->b;
cout<<"ZM30X::Add() a = "<<myStruct->a<<" ; b = "<<myStruct->b<<endl;
return i;
}
} //namespace ZKA


Add就是导出函数,如果Add函数中适用myStruct指针,C#文件应该怎么写呢?
...全文
171 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
honglian 2011-06-01
  • 打赏
  • 举报
回复
问题终于搞定了,刚开始没有明白10楼得意思,看了这篇文章后,才真正明白其中的意思,以下是这篇文章的链接,希望能帮到需要的人
http://topic.csdn.net/u/20110413/18/8dbe1747-1cf8-4f5b-8475-972b2d5064a5.html
honglian 2011-05-24
  • 打赏
  • 举报
回复
拖了很久了,还是没有搞定!
honglian 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gomoku 的回复:]
引用 9 楼 honglian0213 的回复:
拖了很久了,还是没有搞定!

搞不定的,下帖9楼有解释。
http://topic.csdn.net/u/20110413/18/8dbe1747-1cf8-4f5b-8475-972b2d5064a5.html
[/Quote]
多谢了,对那个扩展dll没有一点头绪,先查查资料
gomoku 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 honglian0213 的回复:]
拖了很久了,还是没有搞定!
[/Quote]
搞不定的,下帖9楼有解释。
http://topic.csdn.net/u/20110413/18/8dbe1747-1cf8-4f5b-8475-972b2d5064a5.html
honglian 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 donotsmoking 的回复:]
指针用ref调用,这几天在写硬件开发调的是C++的DLL

我就的就是ref 参数
[/Quote]
这个我也明白,就是DLL的类里面还有别的指针或对象该怎么用呢?比如我的程序的情况,难道DLL不能这样写吗?
Frog1228 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wangyong0921 的回复:]
你最好用C来写这个DLL文件吧,C#应该掉不了C++的DLL,除非你是把它做成COM组件形式
[/Quote]
可以调用的,我现在工作中就用到。
Just4life 2011-05-10
  • 打赏
  • 举报
回复
你最好用C来写这个DLL文件吧,C#应该掉不了C++的DLL,除非你是把它做成COM组件形式
donotsmoking 2011-05-10
  • 打赏
  • 举报
回复
指针用ref调用,这几天在写硬件开发调的是C++的DLL

我就的就是ref 参数
honglian 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wangyong0921 的回复:]
你最好用C来写这个DLL文件吧,C#应该掉不了C++的DLL,除非你是把它做成COM组件形式
[/Quote]
请问大侠,COM组件如何做的?我的程序要求必须要用面向对象,所以不能用C的
honglian 2011-05-10
  • 打赏
  • 举报
回复
终于有人回复了,谢谢各位
honglian 2011-05-09
  • 打赏
  • 举报
回复
问题较急,请大家帮帮忙啊!

111,098

社区成员

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

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

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