linux的可执行文件是什么后缀
只要设了执行权限,有elf文件头,就可以看成可执行文件,要是纯文本文件也可以看成是可执行的脚本。
一部分下载的商业软件安装程序之类的可执行文件有.bin的后缀。
注解:可执行文件:指计算机的操作系统能够解释并执行的二进制代码文件。
最初的可执行文件包括代码段、数据段、堆栈段和扩展段等。
代码段存放了计算机的执行指令,即CPU要进行的操作指令,数据段存放了CPU要用到的数据,堆栈段则存放了与寄存器有关的信息等等。
现在你觉得许多文件都能够被计算机执行,是因为操作系统已经做得比较人性化,例如你双击一个文本文件(*.txt),该文件即被打开,这是因为操作系统调用了Notepad.exe这个可执行文件打开了这个文本文件。
实际上,被执行的文件是Notepad.exe,而文本文件只是Notepad.exe的执行目标elf:(Executable and Linking Format)是可执行连接格式可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface(ABI)而开发和发布的。
工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。
为什么说Linux强大?
Linux主要的好处是开源、安全、稳定。
对于程序员来说,了解系统的内部代码和运行结构是了解系统、编写出更高品质的程序的思路之一,而且现在Linux的开发和使用越来越普遍,特别是在服务器的应用(你所熟知的gogle、yahoo都是Linux平台的商业软件包),你可以想象一下Linux的应用。
而Windows是非开源商业软件,你很难得到它的源码,而且也不能去修改它的内容(否则等着吃官司)。
这给应用程序的开发提出了很多难题。
另外,Linux并不是纯命令行软件。
命令行是基础,然后在其之上运行图形界面平台,常用的有KDE GNOME和XFACE(轻量级)。
linux系统怎样将32位系统调整成64位系统
比较典型的x86_64的处理器有ADM Athlon II和英特尔Xeon。
因为这些Linux发行套件都有自己专用的软件源,这些软件源会为提供所有它所支持的应用软件的二进制包。
如果你满足于Linux 的安装方式,你可能不会需要运行32位的程序。
一些Linux商业软件,尤其是游戏,只提供32的版本。
因为某些特殊的理由,你可能需要配置你的电脑来运行32位的软件。
安装32位的支持库 因为x86_64处理器是为x86技术涉及,所以它也是支持32位程序的。
在Linux里,你所需要做的就是为这些软件安装必要的软件库。
幸运的是,大部分Linux发行版本已经将这些打包好了。
比方在Ubuntu里,这个包就叫做ia32-libs。
为了安装它,你可以打开一个终端,然后输入下面的内容: sudo apt-get install ia32-libs 在Kubuntu中,你也可以通过Synaptic和Kpackagekit在图形界面下安装。
一旦安装了之后,像游戏之类的软件就不再需要更多的配置。
图形问题 当你在一个64位的环境中运行32位的软件时,Ubuntu仍然会去寻找默认的GTK引擎。
这样导致一个wrong ELF class的报错。
这种情况在你运行某些特定的软件的时候特别恼人,比方说Chrome,一款新的谷歌浏览器开源版本。
Ubuntu确实已经将32位版本的GTK引擎安装在了 /usr/lib32/gtk-2.0,但是我所使用的GTK项目并没有在这个位置找到。
快速的解决方法如下: 1、为你现在用的主题找到32位包。
比方说我,我查找了ubuntu packages 2、下载包,然后将包解压缩 3、为主题找到库文件 4、将库拷贝到lib32路径: sudo cp ~/download-directory/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/ 比方说Chrome,它的需要可以设置在启动脚本里: /user/lib32/gtk-2.0 如果程序的启动脚本在你运行的时候没有去看,而是去寻找 /user.lib/gtk-2.0,你可能需要修改启动脚本或者在终端里输出并设置一个环境变量: export GTK_PATH=/usr/lib32/gtk-2.0 command-to-start-app 如果一个程序没有启动脚本,你可以像上面那样设置下环境变量。
其他的错误 我已经发现了像Boxee这样的应用程序,不能很好地在任何情况运行在64位系统下,即使在安装了32位的库文件也不行。
这时候唯一可行的办法就是在根下运行了。
执行命令uname -i,I386表示32位系统;X86_64表示64位版本。