升级与兼容性的问题。

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
zzsczz
帖子: 67
注册时间: 2006-07-18 16:15

升级与兼容性的问题。

#1

帖子 zzsczz » 2007-10-11 20:33

很困惑啊。。。。
WINDOWS下的应用程序在这方面表现还可以,毕竟没有source啊。。2000-> xp ->2003基本不会出太大的问题,微软提供稳定的API和不断完善的实现,还有com/ole等二进制重用的组件模型,应用程序开发者只要调用就够了。


linux下每次升级kernel,发行版的应用程序都重新编译(各个应用还有升级),这样似乎很变态啊。。。。。难道就没有二进制重用的机制码?

能有哪位达人对这种问题提供一个解答?

kernel、gcc 升级对应用程序有什么影响?应用程序需要重新吗编译?为什么呢?

还有gnome、kde等的升级对应用程序有什么影响呢?应用程序需要重新吗编译?为什么呢?
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#2

帖子 BigSnake.NET » 2007-10-11 20:46

谁告诉你要重新编译的..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
zzsczz
帖子: 67
注册时间: 2006-07-18 16:15

#3

帖子 zzsczz » 2007-10-12 22:07

我对win 的应用是这么认识的

1 应用程序

2 跨语言的framework(com,ole,activex,ado,directx..)

3 开发语言: a编译器 (vc) b运行库(msvcrt*.dll) c语言相关的framework(mfc)和lib(stlport)

4 操作系统系统调用函数接口(NTDLL.dll ,gdi32.dll)以及其他dll(kernel32.dll,Advapi32.dll ,user32.dll)

5 操作系统实现


Windows的第四层相当稳定,每新Windows版本会有相应的NTDLL.dll,而相应的头文件没有变化(只是扩充),运行时候又是动态link,所以旧的应用系统可以正常运行(驱动之流如防火墙、杀毒除外)。

Windows的第二层更稳定,因为Iunknown和Idispatch很稳定,所以操作系统更新后基于com的应用程序也没什么不适应。(除非基于商业因素把接口的实现取消了,如xp没有direct10)


Linux下的情况我就不太知道了
1 应用程序

2 跨语言的framework 如 GNOME 的 Bonobo

3 开发语言:a gnu c 编译器 b GNU C Library c 语言相关的framework和lib.

4 操作系统系统调用函数接口 .(不知道) 似乎还有x是吧????

5 操作系统实现


Linux的第四层在什么地方?

Glibc的某个版本的二进制文件能在不同的Linux kernel下支持相同的应用吗?

Linux的发行版升级 如果更新了kernel 、gcc和glibc、gnome, 旧的应用程序不重新编译能运行吗?
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#4

帖子 windwiny » 2007-10-12 22:12

GPL 本质就是自由,没保证。。。。


运行GPL程序电脑可能会爆炸。。。要小心
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#5

帖子 BigSnake.NET » 2007-10-12 22:15

gtk没爆,ls倒想爆头了..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

Re: 升级与兼容性的问题。

#6

帖子 雕啸长空 » 2007-10-12 22:35

很困惑啊。。。。
WINDOWS下的应用程序在这方面表现还可以,毕竟没有source啊。。2000-> xp ->2003基本不会出太大的问题,微软提供稳定的API和不断完善的实现,还有com/ole等二进制重用的组件模型,应用程序开发者只要调用就够了。
2k->xp或许没什么问题,但至少我的hp本本,从xp->2k3就是灾难,触摸板,电源管理,红外,快捷全部没有驱动,xp下的驱动连装都不让装.你可以说我的机器兼容太差,但我实想想不出还有几个厂家的机器会比HP的好.
另外我不知道2k->xp->2k3一路改下来,原先2k下的软件是否可以全部正常工作?听说,听说而已,MSoo2k3对msoo2k7的格式支持得似乎并不怎么完美.
我记不太清楚了,在98系统上,好像根本无法安装mediaplayer7以后的版本,office好像也只到officexp,我感觉到的只是无奈地跟随着MS的每个规则.
linux下每次升级kernel,发行版的应用程序都重新编译(各个应用还有升级),这样似乎很变态啊。。。。。难道就没有二进制重用的机制码?
我不知道你这是自己的亲身体验还是从哪里听来看来的,但我的内核从2.6.18一路升到现在2.6.23,没有任何程序需要重新编译.
现在机器上还有两个版本内核,如果你所说是成立的,是不是意味着我每次用不同的内核之前还要重新编译整个系统呢?

代码: 全选

vmlinuz-2.6.22-gentoo-r8
vmlinuz-2.6.23-gentoo

代码: 全选

kernel、gcc 升级对应用程序有什么影响?应用程序需要重新吗编译?为什么呢?
kernel前面说过了,gcc,我从4.1.2->4.2.0->4.2.1->4.2.2一路升来,没有哪个软件需要重译

代码: 全选

fideas@zerone /boot $ sudo gcc-config -l
 [1] i686-pc-linux-gnu-4.1.2
 [2] i686-pc-linux-gnu-4.2.2 *

代码: 全选

还有gnome、kde等的升级对应用程序有什么影响呢?应用程序需要重新吗编译?为什么呢?
gnome的升级我不太清楚,但kde的升级,记得我译过的gentoo系统下kde的安装配置文档上明确提出了升级注意事项.

linux系统可以几年不重装而保持各个软件都处于最新版本的壮态,或许有些windows高手也可以做到这一点,但我没有见过.

不想多说了,有些东西,自己去求证之前,不要乱扣帽子,你如果想知道什么,最好的办法就是去试验它.
Fair winds and following seas !
PhoenixJ
帖子: 1492
注册时间: 2007-08-09 3:33
系统: Windows 12.04

#7

帖子 PhoenixJ » 2007-10-13 2:18

雕是Linux专家,却不是Windows专家,很多方面说反了,哈哈。

2K-XP-2K3,不是这样演化的。

正确的演化是
2K Workstation------->XP----------->Vista
2K Server------------>2K3---------->Longhorn
一个是桌面系,一个是服务器系,不一样滴~
另外,人家说的是软件可以在系统中运行,你咋能用WMP 7.0(新)不能装在W98(旧)上面做例子涅。。
MSOffice2K3确实不能支持MSOffice2K7,要是能支持岂不是很奇怪~
2K7对2K3的文件格式支持还是很完善滴~

Linux你是专家,俺只有学习学习再学习的份儿~
zzsczz
帖子: 67
注册时间: 2006-07-18 16:15

#8

帖子 zzsczz » 2007-10-13 11:06

1 如果不用glibc ,在linux下如何完成系统调用?

2 如果不用glibc ,linux的系统调用的头文件和引入库在哪里?

3在相同的i386结构cpu下,Glibc的某个确定版本的二进制文件能在不同版本的Linux kernel下支持同一个二进制应用吗?

4 to 雕啸长空 ,“内核从2.6.18一路升到现在2.6.23,没有任何程序需要重新编译.”,但是linux的发行版每次升级都把所有的应用用新版本的gcc编译。。。。。。
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

#9

帖子 leeaman » 2007-10-13 11:21

但是linux的发行版每次升级都把所有的应用用新版本的gcc编译。。。。。。
例如:........................
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
shugoal
帖子: 1109
注册时间: 2007-08-20 21:39
来自: 沈阳
联系:

#10

帖子 shugoal » 2007-10-13 11:40

用了几年的Linux后觉得Linux比Windows方便.....

最基本的
失恋的痛苦不在于失恋本身 在于青黄不接!
青黄不接的年代里 我把爱情暂放一边!

★★○●◎◇★☆☆★
zzsczz
帖子: 67
注册时间: 2006-07-18 16:15

#11

帖子 zzsczz » 2007-10-13 12:14

to leeaman..

linux的发行版每次升级,核心升级了,gcc升级了,应用程序也升级了,二进制的分发的程序都用新的gcc编译,所以我不知道老的应用(用就版本的gcc为旧的kernel编译的旧版本)能否在新平台上正常运行?
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

#12

帖子 雕啸长空 » 2007-10-13 17:44

zzsczz 写了:to leeaman..

linux的发行版每次升级,核心升级了,gcc升级了,应用程序也升级了,二进制的分发的程序都用新的gcc编译,所以我不知道老的应用(用就版本的gcc为旧的kernel编译的旧版本)能否在新平台上正常运行?
雕啸长空 写了:有些东西,自己去求证之前,不要乱扣帽子,你如果想知道什么,最好的办法就是去试验它.
正确的演化是
2K Workstation------->XP----------->Vista
2K Server------------>2K3---------->Longhorn
一个是桌面系,一个是服务器系,不一样滴~
看清楼主题设,另外,2k没有workstation的说法你说的是windows2k professional edition ,NT还差不多.
Fair winds and following seas !
zzsczz
帖子: 67
注册时间: 2006-07-18 16:15

#13

帖子 zzsczz » 2007-11-03 1:06

to leeaman

比如啊 http://packages.ubuntu.com/

ubuntu的二进制源是分版本的(当然部分应用可以跨版本)
1 dapper edgy feisty gutsy hardy 之分

2 每个版本分CPU体系结构
x86 amd64 ppc


win下的简单一些
cpu只支持X86
应用win32 平台是兼容的。
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

#14

帖子 leeaman » 2007-11-03 12:18

ls真是有心,一般源里面的是没有问题的,不用你自己编译就不理他了,有些自己源码编译的可能就是要重新编译,有可能重新编译也用不了的也有的,但是你可以选择不更新你的ubuntu版本,分版本是这个vista xp 98很多应用程序也要分得吧,不分的在安装程序内部也有加以区别的,分x86 amd ppc cpu体系这个应该是优点,如果你平常之用x86体系的这点区别都应该没有什么影响吧
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
回复