LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 933|回复: 5

程序的可移植性还有共享库的问题一直没搞明白!请教了!

[复制链接]
发表于 2006-4-6 08:25:29 | 显示全部楼层 |阅读模式
我是在linux下学习C++编程的,在学习的过程中有两个个问题一直困扰着我!------请坛子里的朋友帮我解惑!

     1.  linux下能不能用c++编写动态共享库,静态的共享库?如果可以的话,那么具体该怎样做呢?(请大家给我几个实际的例子好吗?或者给些这方面的资料.)

     2. 以软件工程的思考,从程序的可移植性(主要是硬件和操作系统方面)这个角度出发,请大家结合自己的方法谈谈如何做到.还请给些实例或者这方面的资料.

       谢谢回复!!
 楼主| 发表于 2006-4-7 19:03:19 | 显示全部楼层
有人能教教我吗?
回复 支持 反对

使用道具 举报

发表于 2006-4-7 20:34:36 | 显示全部楼层
这些资料网上大把, 自己搜一下吧
不要那么懒 :-)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-8 07:56:58 | 显示全部楼层
终于有人回复了,谢谢MMMIX!
         老实说,我不算懒的,在网上找这些资料费了我不少心思!可是还是没能搞明白这两个问题,有时都不知道应该用什么关键字去搜索.  比如:我用关键字"linux共享库"搜出来一大堆信息是关于如何使用的,或者是C语言的,关于C++的还真找不到; 再比如:我搜索关键字"linux可移植"结果搜出来一堆介绍linux在可移植方面突出的特性,而以软件工程的思考,从程序的可移植性(主要是硬件和操作系统方面)这个角度出发来考虑如何编写程序的问题也没有相关的资料!
         正是因为这样,我才发贴子求助的,还请朋友们多帮助,谢谢大家了!
回复 支持 反对

使用道具 举报

发表于 2006-4-8 11:26:43 | 显示全部楼层
我现在用的gcc中的c++编译器不但可以编写动态共享库,而且还支持模板的动态化吧。
就是std::iostream这样模板都可以动态化了。

我一直使用autotools中的libtool来同时生成动态库与静态库。
具体的就info libtool吧。

可惜的是mingw提供的STL还不能动态化(没有libstdc++.dll什么的呀……),让我好郁闷。

程序的可移植性吗,我主要在win32(mingw)与linux之间移植,用autotools管理工程,这样移植的难度小些嘛。GUI的设计,我使用的是wxWidgets这个GUI库,它是跨平台的。
回复 支持 反对

使用道具 举报

发表于 2006-4-8 12:19:54 | 显示全部楼层
Post by MatthewGong

可惜的是mingw提供的STL还不能动态化(没有libstdc++.dll什么的呀……),让我好郁闷。

MatthewGong:请教有办法从MinGW提供的源码包来自己编译C++标准库的dll吗?或者手动的编译新的gcc并指定--enable-shared?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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