当前位置:首页 » 操作系统 » linux软件源码

linux软件源码

发布时间: 2022-06-25 20:56:58

‘壹’ linux源码在哪个目录

如果是别人发布的二进制包,可执行文件通常都安装到Linux系统 /usr/bin 下面;如果是自己从源代码安装的,可执行文件通常都在 /usr/local/bin 下面,除非配置时指定了安装位置。
例如:
rpm -ivh xxx1.rpm
可执行文件通常都安装到 /usr/bin 下面
./configure (或者 ./configure --prefix=/usr/local)
make
make install
可执行文件通常都在 /usr/local/bin 下面,因为默认参数就是 --prefix=/usr/local
./configure --prefix=/usr (或者 ./configure --prefix=/opt 也可以指定其他位置,如你的家目录 --prefix=~,~就是 /home/xxx<即你的家目录>的缩写)
make
make install
可执行文件通常都在 /usr/bin 下面(或者相应地位于 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目录)
无论那种方法,在 bash 控制台下只要输入可执行文件头几个字母,然后连续按两次 Tab 键,就可以列出可能的所有命令,如果只有一种可能,则自动显示该文件全名,这称为命令补全。想执行当前目录下的可执行文件,则必须使用 ./ 作为命令前导,例如:
./myprogram
除此之外,一般的可执行文件都处在系统的搜索路径里,只要在控制台直接输入命令名就可执行。例如你编译安装了一个叫 synaptic 的软件,只需要在 KDE 的 konsole 虚拟控制台下输入 synaptic 即可。
如果不幸,你的可执行文件不在系统的搜索路径里,就会报告没有这个命令。那么你需要把那个可执行文件的位置加入环境变量 PATH 里,用冒号作分割符,例如:
在你的家目录的 .profile 文件或 .bashrc 文件里添加如下命令
PATH="~/bin:$PATH" 就可以把你的家目录的 bin 目录追加到搜索路径里。
无论任何时候想知道系统里某个“命令文件”的位置,都可以使用 which 命令,例如:
$which pwd
/usr/bin/pwd
说明 pwd 命令位于 /usr/bin 下面。

‘贰’ 怎样阅读Linux源代码

听我的就是,问那么多干嘛,我在你身边,你还走错路!跟着我!不能给你幸福是我的错,但谁让你不幸福,我TMD去砍了他 查看文章
如何阅读linux源代码2007-09-01 14:04着linux的逐步普及,现在有不少人对于Linux的安装及设置已经比较熟悉了。与Linux 的蓬勃发展相适应,想深入了解Linux的也越来越多。而要想深入了解Linux,就需要阅读和分析linux内核的源代码。
Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。另外还可以从互连网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,目前最新的稳定版是2.2.14。
许多人对于阅读Linux内核有一种恐惧感,其实大可不必。当然,象Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那么高不可攀。只要有恒心,困难都是可以克服的。也不用担心水平不够的问题,事实上,有很多事情我们不都是从不会到会,边干边学的吗?
任何事情做起来都需要有方法和工具。正确的方法可以指导工作,良好的工具可以事半功倍。对于Linux 内核源代码的阅读也同样如此。下面我就把自己阅读内核源代码的一点经验介绍一下,最后介绍Window平台下的一种阅读工具。
对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识;2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内 核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):
arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。
include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。
init 此目录包含核心启动代码。
mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下,如对应于X86的就是arch/i386/mm/fault.c 。
drivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。
ipc 此目录包含了核心的进程间通讯代码。
moles 此目录包含已建好可动态加载的模块。

void function(e,t){for(var n=t.getElementsByTagName("img"),a=+new Date,i=[],o=function(){this.removeEventListener&&this.removeEventListener("load",o,!1),i.push({img:this,time:+new Date})},s=0;s< n.length;s++)!function(){var e=n[s];e.addEventListener?!e.complete&&e.addEventListener("load",o,!1):e.attachEvent&&e.attachEvent("onreadystatechange",function(){"complete"==e.readyState&&o.call(e,o)})}();alog("speed.set",{fsItems:i,fs:a})}(window,document);

fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。
kernel 主要核心代码。同时与处理器结构相关代码都放在arch/*/kernel目录下。
net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。
lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/*/lib/目录下。
scripts此目录包含用于配置核心的脚本文件。
Documentation 此目录是一些文档,起参考作用。
清楚了源代码的结构组成后就可以着手阅读。对于阅读方法或者说顺序,有所谓的纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是分模块进行。其实他们之间不是绝对的,而是经常结合在一起进行。对于Linux源代码来讲,启动的代码就可以顺着linux的启动顺序一步一步来,它的大致流程如下(以X86平台为例):
./larch/i386/boot/bootSect.S-->./larch/i386/boot/setup.S-->./larch/i386/kernel/head.S-->./init/main.c中的start_kernel()。而对于象内存管理等部分,则可以单独拿出来进行阅读分析。我的体会是:开始最好按顺序阅读启动代码,然后进行专题阅读,如进程部分,内存管理部分等。在每个功能函数内部应该一步步来。实际上这是一个反复的过程,不可能读一遍就理解。
俗话说:“工欲善其事,必先利其器”。 阅读象Linux核心代码这样的复杂程序令人望而生畏。它象一个越滚越大的雪球,阅读核心某个部分经常要用到好几个其他的相关文件,不久你将会忘记你原来在干什么。所以没有一个好的工具是不行的。由于大部分爱好者对于Window平台比较熟悉,并且还是常用Window系列平台,所以在此我介绍一个Window下的一个工具软件:Source Insight。这是一个有30天免费期的软件,可以从www.sourcedyn.com下载。安装非常简单,和别的安装一样,双击安装文件名,然后按提示进行就可以了。安装完成后,就可启动该程序。这个软件使用起来非常简单,是一个阅读源代码的好工具。它的使用简单介绍如下:先选择Project菜单下的new,新建一个工程,输入工程名,接着要求你把欲读的源代码加入(可以整个目录加)后,该软件就分析你所加的源代码。分析完后,就可以进行阅读了。对于打开的阅读文件,如果想看某一变量的定义,先把光标定位于该变量,然后点击工具条上的相应选项,该变量的定义就显示出来。对于函数的定义与实现也可以同样操作。别的功能在这里就不说了,有兴趣的朋友可以装一个Source Insight,那样你阅读源代码的效率会有很大提高的。怎么样,试试吧!

‘叁’ 我安装了linux,怎么才能看到源代码呢

linux内核的源代码都在www.hernel.org的/pub/linux目录下软件的源代码在该一般项目主页或发行版的“源”,或其他开源软件的网站or: 随着linux的逐步普及,现在有不少人对于Linux的安装及设置已经比较熟悉了。与Linux 的蓬勃发展相适应,想深入了解Linux的也越来越多。而要想深入了解Linux,就需要阅读和分析linux内核的源代码。 Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。另外还可以从互连网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,目前最新的稳定版是2.2.14。许多人对于阅读Linux内核有一种恐惧感,其实大可不必。当然,象Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那么高不可攀。只要有恒心,困难都是可以克服的。也不用担心水平不够的问题,事实上,有很多事情我们不都是从不会到会,边干边学的吗?任何事情做起来都需要有方法和工具。正确的方法可以指导工作,良好的工具可以事半功倍。对于Linux 内核源代码的阅读也同样如此。下面我就把自己阅读内核源代码的一点经验介绍一下,最后介绍Window平台下的一种阅读工具。对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识;2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。init 此目录包含核心启动代码。mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下,如对应于X86的就是arch/i386/mm/fault.c 。drivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。ipc 此目录包含了核心的进程间通讯代码。moles 此目录包含已建好可动态加载的模块。fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。kernel 主要核心代码。同时与处理器结构相关代码都放在arch/*/kernel目录下。net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/*/lib/目录下。scripts此目录包含用于配置核心的脚本文件。Documentation 此目录是一些文档,起参考作用。清楚了源代码的结构组成后就可以着手阅读。对于阅读方法或者说顺序,有所谓的纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是分模块进行。其实他们之间不是绝对的,而是经常结合在一起进行。对于Linux源代码来讲,启动的代码就可以顺着linux的启动顺序一步一步来,它的大致流程如下(以X86平台为例):./larch/i386/boot/bootSect.S-->./larch/i386/boot/setup.S-->./larch/i386/kernel/head.S-->./init/main.c中的start_kernel()。而对于象内存管理等部分,则可以单独拿出来进行阅读分析。我的体会是:开始最好按顺序阅读启动代码,然后进行专题阅读,如进程部分,内存管理部分等。在每个功能函数内部应该一步步来。实际上这是一个反复的过程,不可能读一遍就理解。俗话说:“工欲善其事,必先利其器”。 阅读象Linux核心代码这样的复杂程序令人望而生畏。它象一个越滚越大的雪球,阅读核心某个部分经常要用到好几个其他的相关文件,不久你将会忘记你原来在干什么。所以没有一个好的工具是不行的。由于大部分爱好者对于Window平台比较熟悉,并且还是常用Window系列平台,所以在此我介绍一个Window下的一个工具软件:Source Insight。这是一个有30天免费期的软件,可以从www.sourcedyn.com下载。安装非常简单,和别的安装一样,双击安装文件名,然后按提示进行就可以了。安装完成后,就可启动该程序。这个软件使用起来非常简单,是一个阅读源代码的好工具。它的使用简单介绍如下:先选择Project菜单下的new,新建一个工程,输入工程名,接着要求你把欲读的源代码加入(可以整个目录加)后,该软件就分析你所加的源代码。分析完后,就可以进行阅读了。对于打开的阅读文件,如果想看某一变量的定义,先把光标定位于该变量,然后点击工具条上的相应选项,该变量的定义就显示出来。对于函数的定义与实现也可以同样操作。别的功能在这里就不说了,有兴趣的朋友可以装一个Source Insight,那样你阅读源代码的效率会有很大提高的。怎么样,试试吧!

‘肆’ Linux内核源码如何编译Ubuntu源代码在哪里呢

编译linux内核步骤:
1、安装内核
如果内核已经安装(/usr/src/目录有linux子目录),跳过。如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录,然后使用命令rpm -ivh kernel-source-2.xx.xx.rpm安装内核。如果没有安装盘,可以去各linux厂家站点或者www.kernel.org下载。
2、清除从前编译内核时残留的.o 文件和不必要的关联
cd /usr/src/linux
make mrproper
3、配置内核,修改相关参数,请参考其他资料
在图形界面下,make xconfig;字符界面下,make menuconfig。在内核配置菜单中正确设置个内核选项,保存退出
4、正确设置关联文件
make dep
5、编译内核
对于大内核(比如需要SCSI支持),make bzImage
对于小内核,make zImage
6、编译模块
make moles
7、安装模块
make moles_install
8、使用新内核
把/usr/src/linux/arch/i386/boot/目录内新生成的内核文件bzImage/zImage拷贝到/boot目录,然后修改/etc/lilo.conf文件,加一个启动选项,使用新内核bzImage/zImage启动。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告诉lilo缺省使用新内核启动linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留旧有的启动选项可以保证新内核不能引导的情况,还可以进入linux进行其他操作。保存退出后,不要忘记了最重要的一步,运行/sbin/lilo,使修改生效。
9、重新生成ram磁盘
如果您的系统中的/etc/lilo.conf没有使用了ram磁盘选项initrd,略过。如果您的系统中的/etc/lilo.conf使用了ram磁盘选项initrd,使用mkinitrd initrd-内核版本号,内核版本号命令重新生成ram磁盘文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之后把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁盘能使系统性能尽可能的优化,具体参考/usr/src/linux/Documents/initrd.txt文件
10、重新启动,OK!

‘伍’ linux系统怎么查询源码安装的软件

一、平时下载linux的源码包,都是通过搜索,然后找到相关的下载网站进行下载。或者搜索网站进行下载,而且还要遍历查找安全的网站下载,这样有些浪费时间与精力.
二、下面举例介绍一种简单的方法下载软件的源码安装包
使用 yum info XXX 的命令得到软件的地址,然后复制即可浏览,这样即安全也省时间去查找,更加简单,如下图所示
使用yum info 命令进行查看软件的信息,里边包含了软件的网站,可以很方便得知源码下载地址了.

三、总结
无论使用哪一种方法来查询软件的源码包,但还是要验证一下它的安全性,避免出现故障,最好就是到软件的官方网站进行下载。

‘陆’ 如何查看linux系统源码

例如:想在Linux系统下查看cat命令工具的源码,方法如下:

1、查看工具的路径

$whereiscat
cat:/bin/cat/usr/share/man/man1/cat.1.gz

2、查看工具所属的包

$dpkg-S/bin/cat
coreutils:/bin/cat
coreutils就是cat的源码包名

3、下载工具源码包

$sudoapt-getsourcecoreutils
[sudo]passwordforlizh:
正在读取软件包列表...完成
正在分析软件包的依赖关系树
正在读取状态信息...完成
需要下载10.8MB的源代码包。
获取:1http://mirrors.sohu.com/ubuntu/maverick/maincoreutils8.5-1ubuntu3(dsc)[1,891B]
获取:2http://mirrors.sohu.com/ubuntu/maverick/maincoreutils8.5-1ubuntu3(tar)[10.7MB]
获取:3http://mirrors.sohu.com/ubuntu/maverick/maincoreutils8.5-1ubuntu3(diff)[21.5kB]
下载10.8MB,耗时42秒(254kB/s)
gpgv:于2015年07月06日星期一13时49分55秒CST创建的签名,使用RSA,钥匙号21B2133D
gpgv:无法检查签名:找不到公钥
dpkg-source:警告:对./coreutils_8.5-1ubuntu3.dsc校验签名失败
dpkg-source:info:-8.5
dpkg-source:info:unpackingcoreutils_8.5.orig.tar.gz
dpkg-source:info:applyingcoreutils_8.5-1ubuntu3.diff.gz

‘柒’ 有关于Linux系统下的那些软件源码包的一些问题

因为Linux是很开放的,支持的系统很多很杂,比如各种主流非主流的cpu都支持比如x86、arm、sparc等等,不像windows只支持x86的cpu,所以针对不同环境需要配置。所以编译一个软件要先做配置,一般是运行configure,会生成一些Makefile(项目文件)、头文件什么的。

然后就是编译,一般是运行make。

最后进行安装。就是把生成的库、可执行文件、头文件什么的复制到合适的目录里。一般运行make install来完成

‘捌’ linux中源代码包安装的基本步骤是什么

详解linux源码包安装过程

1. 解压缩包

可以通过下载或其他方式获得了一个软件包,通常它是一个压缩文件,大部分可能是存档的和压缩的,这些文件一般以 .tar .gz为扩展名。

首先拷贝它到一个目录,然后 untar 和 gunzip 解压它。 通常这个命令是

tar xzvf filename [filename 是软件文件名称]

解压后的文件一般会在当前目录下的创建子目录,并以这个包名来命名。 你也可以用用这个命令预先查看结果 tar tzvf filename,显示包里有那些解压文件。

源文件如果是新的 bzip2 (.bz2) 格式,可用

bzip2 -cd filename | tar xvf -,或更简单的 tar xyvf filename ,这很不错的tar命令被不断的完善。

说明:

A:有时候一些文件必须安装在用户的 home 目录下,或更多的是在一个固定的目录,比如 /, /usr/src, 或 /opt 。所以必须仔细阅读安装包的配置信息。当一个软件包里如果有config 和 Makefiles 文件则最好去编辑它,这里包括了安装指令和说明。提示:你改变 makefile 会导致不同的结果。大部分软件包允许用 make install 自动处理安置二进制文件在适当的系统位置。

B:你可能碰到过一些共享文件、shell 存档文件、尤其是 Internet 上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar 命令来解压。

C: 一些源码存档文件是用非标准的 DOS,Mac 或其他压缩的比如:

zip, arc, lha, arj, zoo, rar, and shk.

D: 有时候,你可能需要使用一个 patch 或显示改变了的 diff 文件来升级或修复存档的源码文件。这 doc 文件或者 README 文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch < patchfile.

2: 关于 rpm 安装包

一些 Linux 用户惧怕通过使用源码来手动安装软件包,不过现在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安装运行平稳又快,作为一个软件安装在某几个有名的操作系统。

作为方便的RPM包也存在很多不好的缺点,例如:

A: 要了解软件中更多更详细的内容你必须去在二进制中去了解,而不是rpm包。

B: 还有安装一个 rpm 包如果需要依赖关系那么安装就可能会导致失败。

C: 当 rpm 请求你系统中不同版本的库,那么安装将不能继续,除非你为错误的库位置创建连接符号到正确的位置。

说明:必须使用root 安装 rpm 和 deb 。因为它需要必须的写入权限。

最简单的,用命令 rpm -i packagename.rpm 和 dpkg --install packagename.deb 会自动解包和安装。

3:关于安装 Linux 包出现的一些问题及解决方案

假设 make 失败有个链接错误: -lX11: No such file or directory,正好在 xmkmf 之后已被调用,这可能意味着 Imake 不能被完全建立。检查第一部分 Makefile 文件的的行是这样:

· LIB= -L/usr/X11/lib
· INCLUDE= -I/usr/X11/include/X11
· LIBS= -lX11 -lc -lm

这个 -L 和 -I 开关告诉编译器和链接分别在哪里找到 library 和 include 文件。在这个例子里, X11 库应该在 /usr/X11/lib 目录,且 X11 包含文件应该在 /usr/X11/include/X11 目录里。假如对于你的机器上的这个错误,请处理修改 Makefile 并重新再 make。

没有声明涉及的数学库函数,像下列各项:
/tmp/cca011551.o(.text 0x11): undefined reference to `cos'

要修复它,需要明确链接到匹配的库,在 Makefile (看先前的例子) 里增加一个 -lm 到 LIB 或 LIBS 标记 。

用其他方法尝试

仍然失败 如果失败,参考下列脚本:
make -DUseInstalled -I/usr/X386/lib/X11/config
这个直接方式的类别相当于。

在少数例子里,用 root 运行 ldconfig 可能会解决:
# ldconfig 更新共享库链接符号。

一些 Makefiles 使用你系统里未被承认的库别名。一个例子,构建可能需要 libX11.so.6 ,但是在 /usr/X11R6/lib 不存在文件或链接。然而,在那里是 libX11.so.6.1。解决方法是用 root 运行ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6 ,接着需要运行 ldconfig 。
有一些包需要你安装一个或更多库的升级版本。需要拷贝一个或更多的库到适当的目录里,删除旧的库,重新设置动态链接库。
4:一些其他的问题处理

安装一个shell 脚本如果出现:No such file or directory 的错误消息。这是可以检查文件权限确定文件事可执行的,并检查文件头确定是否 shell 或程序是脚本在指定的位置被调用。一个例子,这个脚本可能是这样开始的:

#!/usr/local/bin/EDEN

如EDEN的实际安装位置是在你的 /usr/bin 目录,用一个 /usr/local/bin 替代

这个脚本不能运行有两个方法来纠正!!

A: 文件头改成 #!/usr/bin/EDEN

B: 或增加一个链接符, ln -s /usr/bin/EDEN

5:一个典型的例子 Xloadimage

首先说明下面的例子来源于国外网站的一个技术实例,这里我做了翻译和整理。

这个例子展现一个简单的问题。xloadimage 程序对我的图形工具的调整设置是有用的附加。从源码目录拷贝文件,用 tar xzvf 解压文件,可是在运行 make 的时候出现令人讨厌的错误并停止了。

gcc -c -O -fstrength-rece -finline-functions -fforce-mem

-fforce-addr -DSYSV -I/usr/X11R6/include

-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c

In file included from /usr/include/stdlib.h:32,

from image.h:23,

from xloadimage.h:15,

from mcidas.c:7:

/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:

conflicting types for `wchar_t'

/usr/X11R6/include/X11/Xlib.h:74: previous declaration of

`wchar_t'

make[1]: *** [mcidas.o] Error 1

make[1]: Leaving directory

`/home/thegrendel/tst/xloadimage.4.1'

make: *** [default] Error 2

这个错误消息包含了实质的线索:

查看 image.h 文件的 23 行:
#include < stdlib.h>
在源码的某处对于 xloadimage, wchar_t 已经在指定标准 include 文件重新定义。 告诉我们首先在 image.h 的 23 行尝试注释它,或许 stdlib.h include 是不存在的,毕竟不是所有都是必需的。

在这点,构建中的收益来源于所有任何一个致命错误。xloadimage 现在功能正常。

6: 安装 Linux 包的一些总结

坚持自己动手处理所有的安装出现的问题,不断总结努力学习,从错误里去仔细研究,努力动手排错,从每个不足甚至失败的地方得到扩充和提升,可以增强安装构建软件的技巧。

‘玖’ 【急】怎样在linux中查看程序的源码

压缩包解压后里面就是源码啊,windows下用好压可以直接解压缩,linux下根据压缩包具体格式用tar -jxvf或者tar -zxvf命令解压。解压后里面的文件都是源码,什么语言写的文件就是什么样后缀的文件格式(这个不知道就别想着改代码了)。
另外纠正一下,linux是开源的是对的,但是怎么就得出linux上的应用也是开源的这样的结论?linux开源指的是linux操作系统内核开源,在此之上提供的各种服务和应用不一定开源(当然有很多开源的,至于为什么你可以了解下OTSS off the shelve system和GPL)

‘拾’ Linux操作系统的源代码

Linux是一个开放的,自由的类Unix操作系统,它的源代码是公开的, 各个版本的Linux,包括从内核到许许多多的应用程序的源代码, 以及可执行文件都可以免费从互联网上下载。

你也可以通过光盘得到Linux系统,和一般的软件不同的是, 你可以合法的和你的朋友分享Linux光盘。很显然Linux光盘的价格不会很高, 第一,因为你可以免费从网上下载;第二,你可以和你的朋友合伙凑钱买一套Linux光盘, 再和你的朋友分享使用。

Linux和一般的软件不同,是可以和你的朋友分享的。 举个例子来说:
如果朋友家有张非常漂亮的窗子,但是这窗子是95牌的, 那么你仿制是违法的,如果这窗子是X牌的,或者说牌子是GPL, 那么你仿制就不违法。如果你不想违法,但又想要漂亮的窗子, 答案是选择自由软件。选择Linux。

Linux准确的说,是一个系统内核,它是最初在91年, 由芬兰的了不起的学生Linus Torvalds发起, 接着又有全世界的志愿者加入进来开发的。

现在有一些软件公司在做Linux的生意, 着名的有RedHat,SuSE以及Caldera等等, 这些公司发布自己的基于Linux内核的一整套的Linux系统: 这些整套的系统通常包括有:一个C语言及C++编译器,Perl脚本解释程序, 外壳Shell,图形用户界面X窗口系统,包括有X Server以及众多的应用程序等等。

这些整套的Linux系统按照习惯叫做Linux发布(distribution)。 目前使用最广泛的Linux发布是RedHat公司的RedHat Linux。 以前使用广泛的Slackware,现在也还有许多人在使用, 我自己的第一个Linux系统就是Slackware,现在我玩的是Debian, Debian和其他的Linux发布的不同之处在于:Debian是完全由志愿者开发的, 不像RedHat和SuSE,是由软件公司所支持的。

RedHat是使用最广泛的Linux发布,并且RedHat公司现在得到了Netscape, 以及Intel的支持,前景看好,根据一般的看法Redhat也是最容易上手的Linux发布。

SLackware和RedHat相比要稍微复杂一些,这主要是指软件的安装方面, 由于RedHat使用rpm打包系统,安装新软件简单到只要一行命令即可。 而Slackware往往要从源代码重新编译,稍微费事一些。

SuSE也是基于rpm打包系统,SuSE的特别之处在于它对X窗口系统的支持非常好, SuSE的吉祥物是一只绿色的蜥蜴,非常可爱。

Debian基于自己的Deb格式的打包系统,但是它也可以安装rpm软件包。

Linux可以运行在DEC公司的Alpha机上,也可以运行在Sun公司的Sparc机器上。 当然也可以运行在Intel公司的386以上的机器上。 编写的好的源代码可以不经修改的在各种不同的Linux平台上直接编译安装运行, 但是显然,不同的硬件平台之间的可执行文件是不兼容的。 但是一个特别针对Intel机器的rpm软件包是可以轻易的在for Intel的RedHat,SuSE,Debian, 以及Slackware上安装运行起来的。

RedHat,SuSE,Slackware以及Debian等各个发布之间的另一个不同是, 它们都带有自己的系统管理工具。 RedHat使用着名的控制面板+Linuxconf, Debian使用臭名昭着的dselect(为什么说臭名昭着?因为它非常难控制, 我自己只要有可能,就尽量不碰它) Slackware使用pkgtool, SuSE也有自己的管理工具。

Linux是一个开放的操作系统,它的各个部分:内核,应用程序, 库程序是有机的结合的。并不是固定的死死的,碰都不能碰。Linux的内核的版本号是XX.XX.XX格式的,由三个数字组成, 第一个数字是主版本好,第三个数字是辅版本号,中间的数字如果是奇数, 表示这是一个开发版的内核,如果是偶数,表示是一个相对稳定的,可靠的内核。 一般来讲,除非你正在研究Linux内核,或有特别的需要, 否则不要摆弄奇数版本的内核。

今天演示的第三个部分是Linux下的软件。常常有人抱怨Linux缺乏有效的软件的支持, 这在一定情况下的确如此,但是另一方面也是我们对Linux了解太少, Linux平台上现在已经有了相当多的应用软件。 并且Linux正在得到越来越多的厂家的支持。 这段时间炒的非常火的Oracle,Sybase等等大型数据库的Linux版本就是一例。

Linux下不但有类似于PhotoShop的免费的图像编辑软件:gimp, 还有免费的类似于3DS的三维设计软件:MoonLight。 并且所有这些软件,你都可以得到源代码。

Linux下的图形用户界面是基于X窗口系统的, 这也秉承了Linux的一贯传统:开放的,有机结合的。 XFree86只是图形界面的服务器,上面可以运行各种不同的窗口管理器, 现在着名的窗口管理器有AfterStep,WindowMaker,以及Enlightenment。 有的窗口管理器做得非常的漂亮,真是叫做不看不知道,一看吓一跳。 另外,如果你不喜欢花哨的窗口管理器,你可以选择wm2或者9wm, 它们只占用非常少的系统资源,我自己经常使用的就是9wm。

有了X服务器和一个窗口管理器,你就有了图形用户界面。 你就可以运行Gimp或者Moonlight了,甚至你还可以运行Doom和quake!

现在还有一批程序员正在为Linux开发免费的,开放源代码的红色警报。

对Linux的一个最主要的批评是:Linux缺乏支持。 坦白的说,就我自己作为一个个人用户来讲,我觉得Linux的支持非常的好。 我曾经在安装Debian的时候遇到几个问题, 到Debian的Mail List里发信询问了一下,几个小时后就得到了答案。

热点内容
vba获取网页表格数据库数据库数据库 发布:2024-05-18 12:23:24 浏览:699
腾讯服务器为什么卡顿 发布:2024-05-18 12:02:12 浏览:305
如何知道密码锁有没有nfc 发布:2024-05-18 11:58:09 浏览:961
单片机c语言模块化编程 发布:2024-05-18 11:53:16 浏览:644
win7xp共享打印机拒绝访问 发布:2024-05-18 11:51:00 浏览:847
zkeys金属服务器怎么使用 发布:2024-05-18 11:49:31 浏览:581
电信路由器密码设置无线路由器怎么设置密码 发布:2024-05-18 10:55:00 浏览:647
安卓系统是属于哪个国家的手机 发布:2024-05-18 10:41:41 浏览:99
linux运维前景 发布:2024-05-18 10:24:44 浏览:658
c语言crc算法 发布:2024-05-18 09:59:03 浏览:644