‘壹’ C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(1)编译安装的四大步骤扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
‘贰’ 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 来测试软件是否编译正确。
‘叁’ 大家初学c语言用的编辑器和编译器是怎么下载安装详细步骤
1.Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境.
相比于基于Delphi的Dev-C++共享 C++IDE,Code::Blocks是开放源码软件Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库 wxWidgets(2.6.2unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。
2.安装主要步骤
安装Code::Blocks第一个正式版本 ver 8.02。
安装Code::Blocks的最新升级包。
安装Code::Blocks的简体中文语言包。
完成Code::Blocks的基本配置。
3.运行安装程序
下载得到一个执行的文件,双击后运行,请按照以下说明进行安装。
选择“Full/完整”安装,以免重要插件没有被安装上。
安装目标路径,不要带有空格,或者汉字;这一点并不是Code::Blocks的限制,而是因为mingw32里的一些命令行工具,似乎对长目录或带空格的目录支持有点小问题,我估计汉字目录也会出问题,但没试过。一句话,就装在根目录下的x(AB,C,D):CodeBlocks即可。
4.安装中文语言包
首先,请在 X:CodeBlocksshareCodeBlocks 建立一个子文件夹:locale,注意 locale 全为小写字母。简体汉字的语言包做了较大改进,不过仍然没改完,另外,一些插件在当前版本本来就无法汉化的,所以还有一部分内容是英语的。
点击下载d2school版Code::Blocks语言包。
下载后,请解压到前述的locale目录下,则locale目录下,应出现zh_CN和zh_TW两个子目录。重新启动Code::Blocks,点击主菜单的“Settings”,选择“Enviornment”。出现的对话框中,左边选中“View”,右边打勾“Internationalization (needs restart)”,并在后面的复合框中选中“Chinese (Simplified)”。确认退出本对话框。
5.必要配置
又分为两步,第一步用于检查系统环境变量,第二步用于检查Code::Blocks本身的配置。事实上,这也是很多类似IDE软件都需要做的准备工作之一。
虽然在多数情况下这两样配置在CodeBlocks安装以后,就已经正确配置上了。但是如果这两样配置有误,会带来Code::Blocks运行时的很多奇怪的问题,我们还是直接检查确保一下,同时加以了解。
检查并配置操作系统环境变量
在桌面上,鼠标右键点击“我的电脑”,选择弹出菜单中的“属性”。在属性对话框中,选中“高级”属性页。点击其下“环境变量”按钮,将新弹出一个对话框,如下图,选中“系统变量”下的“PATH”一行。然后点击其下“编辑”按钮,再次弹出一个对话框。
全选,并复制(Ctrl + C)第二行的内容。然后打开写字板程序,检查以下内容是否出现在复制过来的文字中:
X:CodeBlocksMinGWin; X:.4.5;
其中“X:CodeBlocks”应为您本机安装Code::Blocks时的路径。
如果没有,将所缺少的部分,录入到配置内容,所插入位置最好微靠前一点,注意包括其中的分号。
修改完之后,别忘了复制修改后的全部内容,粘贴,替换一路“确定”,关掉各级对话框。
6.Code::Blocks全局编译器设置
请大家首先到 X:CodeBlocksMinGWin下,搜索,检查有没有存在以下文件:
mingw32-gcc.exe —— 这是C的编译器。
mingw32-g++.exe —— 这是C++的编译器及动态库的连接器。
ar.exe —— 这是静态库的连接器。
gdb.exe —— 这里调试器。
windres.exe —— windows下资源文件编译器。
mingw32-make.exe —— 制作程序。
都没有问题,请点击c::b主菜单“设置”(汉化前的"Settings"),这次选中“编译器和调试器设置...”。,出现的对话框中,右边选中“全局编译器设置”
‘肆’ 如何在linux平台上编译安装zlib软件
1、首先是编译环境,需要最基本的gcc,autotool工具,不同平台不同的安装方式,具体可以网络一下
2、在linux下,开源软件的编译安装会有固定的通用步骤:
下载源码上传到服务器上;
解压源码包,一般包的后缀是tar.gz、tgz、tar.gz2,这些压缩包其实都可以使用同一个命令进行解压 tar xvf tarfile, 进入源码目录
源码目录下一般会有软件相关的README、install文档,简单的阅读以下,多数情况下都会有相关的编译步骤,以及依赖库
通过步骤:./configure;make && make install
./configure --help可以获取帮助,用来指定安装路径,依赖库的路径,编译选项等
3、对于在linux下编译zlib请参考步骤2,相信你能行,加油
‘伍’ Linux系统下源代码编译方式安装软件的大致步骤
是什么语言呢? linux下多数用gcc
‘陆’ 请简述嵌入式linux内核的编译过程
编译及安装简要步骤:
编辑Makefile版本信息
定义内核特性,生成配置文件.config,用于编译:make xconfig
编译内核:make
安装内核:make install
安装模块:make moles_install
具体步骤如下:
内核配置
先定义内核需要什么特性,并进行配置。内核构建系统(The kernel build system)远不是简单用来构建整个内核和模块,想了解更多的高级内核构建选项,你可以查看 Documentation/kbuild 目录内的内核文档。
可用的配置命令和方式:
make menuconfig
命令:make menuconfig
编译内核
编译和安装内核
编译步骤:
$ cd /usr/src/linux2.6
$ make
安装步骤 (logged as
$ make install
$ make moles_install
提升编译速度
多花一些时间在内核配置上,并且只编译那些你硬件需要的模块。这样可以把编译时间缩短为原来的1/30,并且节省数百MB的空间。另外,你还可以并行编译多个文件:
$ make -j <number>
make 可以并行执行多个目标(target)(KEMIN:前提是目标规则间没有交叉依赖项,这个怎么做到的?)
$ make -j 4
即便是在单处理器的工作站上也会很快,读写文件的时间被节省下来了。多线程让CPU保持忙碌。
number大于4不见得有效了,因为上下文切换过多反而降低的工作的速度。
make -j <4*number_of_processors>
内核编译tips
查看完整的 (gcc, ld)命令行: $ make V=1
清理所有的生成文件 (to create patches...): $ make mrproper
部分编译:$ make M=drivers/usb/serial
单独模块编译:$ make drivers/usb/serial/visor.ko
最终生成的文件
vmlinux 原始内核镜像,非压缩的
arch/<arch>/boot/zImage zlib压缩的内核镜像(Default image on arm)
arch/<arch>/boot/bzImage bzip2压缩的内核镜像。通常很小,足够放入一张软盘(Default image on i386)
‘柒’ centos软件是有四种安装方式吗yum,rpm,二进制和源代码
‘捌’ 高级语言的编译过程,经过哪几个步骤
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(8)编译安装的四大步骤扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,对源代码文件进行测试。以及相关的头文件,比如Stdio。H.CPP预处理为。我的文件。预编译。该文件不包含任何宏定义,因为所有宏都已展开,且包含的文件已插入。我提起。
2、编译过程是对预处理后的文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程通常是整个程序的核心部分,也是最复杂的过程之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可运行的可执行程序。也就是说,您需要链接到大量文件以获得最终可执行文件“a.out”。
4、在链接过程中,其他目标文件中定义的函数调用指令需要重新调整,而其他目标文件中定义的变量也存在同样的问题。
‘玖’ Linux中源码编译安装程序包括哪些基本步骤
第一步:创建编译脚本
进入到源码目录 执行 ./configure --prefix=/.../.....(--prefix=后面是想要安装到的目录)
第二部:编译
执行 make
第三部:安装
执行 make install
当然上面这几部都是最基本的步骤,如果想优化编译,要在./configure 后面加参数,或者configure之后手动修改Makefile文件 如O2(优化等级) FLAGS 等编译参数的修改。
--------------------------------------------------------------------------------------------------------------
以上都是源码包的编译
如果是自己写的C代码 直接 用gcc编译即可。
例如 编译test.c
执行 gcc -o test test.c即可将test.c编译为可执行的文件 test
自己打出来的 要采纳啊!
‘拾’ 简单描述编译的几个处理步骤
编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。
编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。
(10)编译安装的四大步骤扩展阅读:
对于c编译程序来说,其语言的特点如下:
1、c语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护,而且表现能力和处理能力极强。
2、c语言具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
3、由于c语言实现了对硬件的编程操作,因此集高级语言和低级语言的功能于一体。它既可用于系统软件的开发,也适合于应用软件的开发。
4、此外,c语言还具有效率高、可移植性强等特点。因此它广泛地移植到了各类各型计算机上,从而形成了多种版本。