怎样在VC中把C++类做成DLL文件

tdxue 2003-06-11 11:32:42
我在VC6.0下自定义了一个类:
class CPoint
{
public:
CPoint() { x =0; }
void set(int i) { x= i; }
int get() { return x; }

private :
int x;
}
现在我想把它做成dll,以便让VB程序调用。请问应该建VC的什么DLL工程?def文件应该怎么定义? 有劳详细解答。 谢谢!


...全文
31 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tdxue 2003-06-13
  • 打赏
  • 举报
回复
为什么就是因为VB才需要 extern "C" 呢? 我试过了,如果不声明extern "C" 用VB也一样能调用dll阿.
ghtsao 2003-06-13
  • 打赏
  • 举报
回复
就是因为VB才需要extern "C"
  • 打赏
  • 举报
回复
自己去看吧^_^

http://expert.csdn.net/Expert/topic/1573/1573546.xml?temp=.2201349
ghtsao 2003-06-12
  • 打赏
  • 举报
回复
还是只能定义标准全局输入函数:

把这个类实例化为一个全局对象,如point;

extern "C"
{

__stdcall void set(int i)
{
point.set(i);
}

__stdcall int get()
{
point.get();
}

}

def 文件:

set @1
get @2
tdxue 2003-06-12
  • 打赏
  • 举报
回复
谢谢二位的回复!
但是还有一个问题不明白:extern "C" 的作用是不是在生成DLL的时候告诉C++编译器用C的函数名称约定去编译这两个函数? 如果我的DLL只是用于VB程序调用,是不是可以略去extern "C"?

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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