LinuxSir.cn,穿越时空的Linuxsir!

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

C++程序Linux不同版本移植问题

[复制链接]
发表于 2009-12-10 10:20:54 | 显示全部楼层 |阅读模式
从Ubuntu下面开发的C++网络程序可以不做修改一直到其他版本的Linux下面吗?比如Debian、RedHat等版本。

还有就是如果要移植到FreeBSD下面需要改动的多吗?
发表于 2009-12-10 10:32:17 | 显示全部楼层
移植到其他linux没有问题。
如果调用到C库例程,遵循posix标准的,移植到其他unix不会有问题。
回复 支持 反对

使用道具 举报

发表于 2009-12-10 11:33:06 | 显示全部楼层
Post by yhwz_888;2054369
从Ubuntu下面开发的C++网络程序可以不做修改一直到其他版本的Linux下面吗?比如Debian、RedHat等版本。
还有就是如果要移植到FreeBSD下面需要改动的多吗?



关键就是一个词:依赖。

最基本的依赖是 glibc,这个跟 bsd 的 libc 有一些不同。如果你的程序只依赖 glibc ,那么跑在任何基于 gnu 的 linux 应该没有问题。(注意,android linux 跑的是 bsd 的 libc,而不是基于 gnu 的。)

如果你的程序除了依赖 libc 还依赖其它的库,那么,你就需要搞清楚不同系统上这些库的版本,并确保你在你需要运行的目标版本中都可用。
回复 支持 反对

使用道具 举报

发表于 2009-12-11 23:20:02 | 显示全部楼层
要想在不同发行版都能运行,用静态链接。生成的文件比较大。
回复 支持 反对

使用道具 举报

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

本版积分规则

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