当前位置:首页 » 编程软件 » linux软件编译基础

linux软件编译基础

发布时间: 2022-04-15 02:03:24

linux终端下如何进行c语言编译

1、首先在linux下判断是否安装gcc编译器,直接执行:gcc -v,判断是否安装gcc。

㈡ 想学一下linux内核编译,无奈新手什么都不会,谁能给推荐几本书,该学些什么基础

你是准备深入学内核还是只学怎么编译?
只学编译的话,不用买书,上网搜一下“内核配置命令”“内核配置选项”“linux内核编译”能找到很多资料,先学常用make命令,用make menuconfig进入图形配置界面,对照资料看懂一些常用的配置选项,然后在虚拟机的环境试着编译几次就学会了。
市面上介绍内核配置的书基本都是翻译的内核里面的Documentation,如果你英文好,下载个内核去Documentation文件夹里看也行。
深入学内核弄懂linux的工作原理或者想搞移植,那要学就多了点,基础的:内核代码树的结构,内核makefile,c语言,汇编语言,有时候还要用到shell脚本(学会以上才能看懂代码),然后是 linux系统结构,内存分配,进程管理,中断,文件系统(先看原理再分析代码),想做驱动程序,硬件也要懂一些,X86体系结构,常见总线和接口,想搞网络的话还要学TCP/IP等等。
基础的:《c语言程序设计》《Linux Shell编程从初学到精通》《汇编语言程序设计》
内核相关的:《深入理解linux内核》《linux内核源代码情景分析》《Linux设备驱动开发》《UNIX网络编程 》

㈢ linux下软件编译安装 前提和方式

在linux系统中,如果要用源代码包进行编译安装,就需要用到gcc这个工具,一般安装系统时默认选择都有这个工具包。可以用命令rpm -qa | grep gcc来看看是否安装gcc。
源代码包安装一般分三步:
1.解压之后,进入解压的目录中,运行./configure,后面还可以加参数,具体情况根据不同的软件来设定。
2.运行make进行编译,如果系统版本还有其他条件都支持的话,不会报什么错。
3.运行make install进行安装就可以了。

㈣ linux上的编译安装的基本概念是什么,具体的流程又是怎么个样子

计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型,解释型就不说了,编译型就是在写好程序的源码以后对程序进行编译,编译成二进制的可执行代码。
在linux中很多软件的源码都会伴随着软件一起发布,软件就是经过编译的一些二进制的文件,这些二进制文件由源码编译而来。所以当我们拿到了软件的源码的时候,可以根据源码编译出软件,然后对软件进行安装,这就是你所说的编译安装了,对于非电脑专业的人不需要了解那么多,涉及的东西比较多,要知道在编译的时候需要设置编译参数的,,
所以会拿deb rpm包来安装就行了。。使用打包好的二进制包安装的另外的好处就是可以由包管理系统进行管理可以方便的对软件包进行安装升级和卸载,如果是源码编译那么就需要自己手动的管理了。
具体的流程没那么复杂,linux软件发布的源码都是有标准格式 的,通常是tar.gz tar.bz2这样的压缩包,
tar xvf xxx.tar.gz 解压源码包
cd xxx 进入源码目录
more INSTALL 或者more README 阅读源码包里的安装说明,看不懂英语的可以跳过这步
./configure 参数 配置编译参数;最常见的是prefix=安装路径 这样可以把软件安装到一个指定目录而不是安装到系统的文件结构中(linux的文件结构可以参考FHS标准规范里的定义)
make 当上一步正确的执行后会生成一个Makefile文件,使用make命令可以对软件源码进行编译
make install 安装(可能会需要root权限)
//部分软件还会提供make test 这样的测试,在安装前可以运行make test 来测试软件是否编译正确。

㈤ 如何编译Linux操作系统的源代码

首先uname
-r看一下你当前的linux内核版本
1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname
-r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
2、配置内核
make
menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
3、编译,依次执行make、make
bzImage、make
moles、make
moles
4、安装,make
install
5、.创建系统启动映像,到
/boot
目录下,执行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于
/boot/grub/grub.cfg
文件的设置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改
set
default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。
重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make
menuconfig这一步,改好后就万事ok了。
最后再用uname
-r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?

㈥ 在linux下编译某个软件的时候,需要事先考虑和准备哪些东西

先看README以及其他的一些文档,编译的时候会提示缺少包或包的版本太旧,这时用yum或apt安装上,不知道包安装时的名字的话,用yum或apt搜索一下吧。apt好像还有个解决依赖问题的功能,忘了

㈦ Linux中源码编译安装程序包括哪些基本步骤

第一步:创建编译脚本
进入到源码目录 执行 ./configure --prefix=/.../.....(--prefix=后面是想要安装到的目录)
第二部:编译
执行 make
第三部:安装
执行 make install
当然上面这几部都是最基本的步骤,如果想优化编译,要在./configure 后面加参数,或者configure之后手动修改Makefile文件 如O2(优化等级) FLAGS 等编译参数的修改。
--------------------------------------------------------------------------------------------------------------
以上都是源码包的编译
如果是自己写的C代码 直接 用gcc编译即可。
例如 编译test.c
执行 gcc -o test test.c即可将test.c编译为可执行的文件 test

自己打出来的 要采纳啊!

㈧ linux 怎么编译c的源程序的gcc,编译命令是什么

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux ");

}

(8)linux软件编译基础扩展阅读:

在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

网络_gcc

㈨ 在linux里,c程序的编辑、编译、调试的详细步骤是什么

(1)用工具写好C程序...比如vi
(2)打开终端,进入你存放C语言代码的路径 例如: cd /opt/
(3)gcc a.c -o abc 意思是:把你的a.c编译成abc可执行文件
(4)在当前目录终端下 运行生成的abc,例如: ./abc 前面的.不要掉了
后面可以用gdb进行调试,你可以自己去学习...这是最基本的!!

㈩ linux软件开发如何入门

要想在linux下面编程,首先得熟习linux的使用才行,学习的大体过程我描迅在下面,希望对你有帮助:1.鸟哥的私房菜基础篇。这是学习linux系统的使用。2.....................服务器篇。可以看些简单的服务器构建:tftp,ftp,nfs,dhcp.以后用的到。3.shell编程及高级编程。这里可以了解,不一定深入。有个概念就好了。4.c语言编程(c program plus 第五版,C与指针,C专家编程,C陷阱,这几本书是经典之作)5.gcc ,make ,ctags,dbg的使用以及makefile的编写(这一步与4同步进行)6.unix 高级环境编程 (这是书名,也是你要学的)7.QT的编写,或则GTK 的编写(这是图形界面的开始)至此软件工程师结束(下面是开发工程师要继续的)8.gun arm的使用,交叉编译环境的搭建9.arm 下面的编程与qtopia的搭建。包括qt/em....led(记不下来,你自己搜下)交叉编译环境的搭建(完成arm上面的图形化)10.对arm 开发板的熟悉。11.gun arm汇编的编写与内嵌汇编的编写12.u-boot下面驱动的编写(根据芯片手册来编写)13.u-boot的移植,这里也可以用vivi14.kernel的裁减与移植15.文件系统的构建与移植16.系统级别的驱动编写//到此 开发工程师初步形成。然后就是不停的练就慢慢成为高级了。推荐书籍《鸟哥的linux私房菜》《linux就该这么学》

热点内容
编程器资源 发布:2025-03-16 17:59:48 浏览:903
加密软件厂商 发布:2025-03-16 17:59:44 浏览:680
鱼钩怎么样配置 发布:2025-03-16 17:59:04 浏览:157
安卓手机怎么设置快点 发布:2025-03-16 17:45:35 浏览:331
c语言字符串右对齐 发布:2025-03-16 17:42:35 浏览:131
充值钓鱼源码 发布:2025-03-16 17:28:16 浏览:470
密码锁锁住了怎么办 发布:2025-03-16 17:25:51 浏览:297
中国移动数据库 发布:2025-03-16 17:18:14 浏览:605
php二维数组函数 发布:2025-03-16 17:16:11 浏览:376
安卓系统在哪里换鸿蒙界面 发布:2025-03-16 17:15:38 浏览:866