linux能想windows中那样,在dll中包含一个class,然后导入到exe中使用吗

图灵转世 2010-12-24 10:04:01
windows中可以在dll中包含一个class,然后再exe中调用该类,只要包含该dll的lib,和头文件就可以了。
想知道linux的。so库中有没有相同的功能。请大侠赐教。
最好能给个例子。
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
suyangwei 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 feiyinzilgd 的回复:]


当然可以。你写成so之类的库文件。

编译的时候 -l库文件路径名称就可以了。

然后在你的程序中使用该接口
[/Quote]
我也来试试
无知者无谓 2010-12-24
  • 打赏
  • 举报
回复
动态库,都是一样的呀,你man一下dlopen,或者上网搜一下,很多代码都会用预编译条件来区分Linux的dlopen/dlsym和windows的loadlibrary/GetProcAddress的。
如果你在windows下不是用这2个函数,那么肯定是被封装了,如果是那么你在Linux下也一样的使用就可以了
lvyinghong 2010-12-24
  • 打赏
  • 举报
回复
一开始,我看到文章说不支持类,要用虚拟类指针的办法。

后来好像在论坛里看到有人说可以,
你自己试一下吧。
Rain208 2010-12-24
  • 打赏
  • 举报
回复
可以使用的动态库so文件里面导出class

但是在linux里面很少用类的吧。

老马何以识途 2010-12-24
  • 打赏
  • 举报
回复
Linux也有动态链接库,但不是dll文件,而是so文件,道理是一样的。
  • 打赏
  • 举报
回复
发2份?
谭海燕 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 guyuguang8628391 的回复:]
windows中可以在dll中包含一个class,然后再exe中调用该类,只要包含该dll的lib,和头文件就可以了。
想知道linux的。so库中有没有相同的功能。请大侠赐教。
最好能给个例子。
[/Quote]

当然可以。你写成so之类的库文件。

编译的时候 -l库文件路径名称就可以了。

然后在你的程序中使用该接口
手机写程序 2010-12-24
  • 打赏
  • 举报
回复
QT就是例子,窗口等都是类,QT提供库文件.
可能象X11,GNOME等图形接口都是类吧.

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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