游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 冰峰传奇

dll 中输出类 必须有 lib么??

[复制链接]

3

主题

72

帖子

72

积分

注册会员

Rank: 2

积分
72
 楼主| 发表于 2006-4-18 12:38:00 | 显示全部楼层

Re:dll 中输出类 必须有 lib么??

加上也是一样的。
只不过错误信息变成
error LNK2001: unresolved external symbol "public: void __dllimport MyDll:rint(void)"

__thiscall 变成了 dllimport 而已。

我觉得是这样的。
如果有lib,那么可以根据lib中保存的 类的函数信息来确认 函数的地址 进行编译。
然而没有这个信息,那么就无法静态编译连接。

48

主题

155

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
发表于 2006-5-14 15:46:00 | 显示全部楼层

Re:dll 中输出类 必须有 lib么??

可以隐式调用呀!

48

主题

155

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
发表于 2006-5-14 15:50:00 | 显示全部楼层

Re:dll 中输出类 必须有 lib么??

但是我有一个问题哦

我的类里有个静态的成员函数,像这样:

static Object& Create()
{
       static Object o;
       return 0;
}

编译没有问题.

运行的时候好像那个静态变量o,不止一个.我好郁闷!

那位老大有没有什么解决办法?

5

主题

26

帖子

31

积分

注册会员

Rank: 2

积分
31
发表于 2006-5-14 17:31:00 | 显示全部楼层

Re:dll 中输出类 必须有 lib么??

9楼的代码里面~
为什么用~
GetProcAddress( hModule, "CreateMyDll");
?~

在那个DLL中有一个CreateMyDll函数用来创建对象么?~


本人新手……完全不懂啊!~……

如果是这样的话~
那么这个函数创建的对象应该是在DLL本身的范围内的吧……
那么引用这个DLL的程序能否使用这个对象呢?~
不解啊……自己也没试过……

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2006-5-14 23:09:00 | 显示全部楼层

Re:dll 中输出类 必须有 lib么??

我实在无语,任何一本c++ windows编程书籍,msdn,找到显示调用dll相关章节,仔细通读一遍先。

dll显示调用是不支持类的,只能基于函数,但是可以通过返回指针的方式实现类的调用,但类的声明一定要包括在代码中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 11:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表