当前位置: 首页 > news >正文

注册了一个域名怎么做网站学生网站做兼职

注册了一个域名怎么做网站,学生网站做兼职,搜索引擎营销题库和答案,信用网站建设原则在windows下#xff0c;很多用来进行编程软件对于写好的文件#xff0c;点击编译即可生成想要文件。如.exe可执行文件#xff0c;.hex文件或者.bin文件等等。软件为我们省略了很多事。但是对于linux初学者来说#xff0c;初次接触linux系统#xff0c;面对命令行黑框框有点…        在windows下很多用来进行编程软件对于写好的文件点击编译即可生成想要文件。如.exe可执行文件.hex文件或者.bin文件等等。软件为我们省略了很多事。但是对于linux初学者来说初次接触linux系统面对命令行黑框框有点无从下手也不明白linux下C程序不用可视化编译器如何对程序进行编译生成可执行文件。 一、C文件的编译过程  C语言的编译过程是将源代码转换成计算机能够被理解的机器代码的过程。一般来说主要为以下流程。 C文件-预处理-编译-汇编-连接-可执行文件。 1.1预处理 首先是预处理阶段主要对源代码的预处理指令进行处理如头文件 #include stdio.h、宏定义 #define  XX 等等。将#include xx.h替换成头文件中的东西并删除不属于程序的内容如程序中的注释。预处理完输出的文件被称为pp文件通常以.i或者.ii结尾。 1.2编译 编译阶段通过编译器将预处理后的文件转换为汇编语言代码。在这个过程中编译器会进行词法分析和语法分析检查代码的语法和语义确保代码的正确性。同时编译器还会生成与平台相关的汇编代码。编译阶段完成后会生成一个或多个汇编文件这些文件是用汇编语言编写的包含了与C语言源代码对应的机器代码指令。 1.3汇编 汇编阶段将编译阶段生成的汇编码转换为目标文件汇编器将汇编代码转换为机器码并生成一个或者多个目标文件.o或.obj文件。 1.4链接 链接过程是将汇编阶段生成的目标文件或者多个目标文件以及库文件合并成一个可执行文件。链接器还会进行地址解析和重定位等工作以确保最终生成的可执行文件中的地址正确无误。链接阶段完成后会生成最终的可执行文件这个文件可以直接在操作系统上运行。 二、GCC编译器 gcc编译器是linux环境中使用的比较多的一个编译器gccGNU Compiler CollectionGNU编译器套件。 在linux下可以直接通过命令行查看gcc编译器的使用方法 man gcc 在命令行界面中直接输入man gcc即可查看使用方法 gcc         xx1        xx2 xx1为选项即使用gcc进行什么操作 xx1可为以下几种选项 -c 只编译不链接为可执行文件编译器将输入的.c 文件编译为.o 的目标文件。 -o 输出文件名用来指定编译结束以后的输出文件名如果不使用这个选项的话 GCC 默 认编译出来的可执行文件名字为 a.out。 例 gcc -o hello hello.c  hello为生成的可执行文件的名字hello.c为需要编译的c文件。 -g 添加调试信息如果要使用调试工具(如 GDB)的话就必须加入此选项此选项指示编 译的时候生成调试所需的符号信息。 -O 对程序进行优化编译如果使用此选项的话整个源代码在编译、链接的的时候都会进 行优化这样产生的可执行文件执行效率就高。 -O2 比-O 更幅度更大的优化生成的可执行效率更高但是整个编译过程会很慢。 2.1 编译流程 GCC 编译器的编译流程是预处理、编译、汇编和链接。预处理就是展开所有的头文件、 替换程序中的宏、解析条件编译并添加到文件中。编译是将经过预编译处理的代码编译成汇编 代码也就是我们常说的程序编译。汇编就是将汇编语言文件编译成二进制目标文件。链接就 是将汇编出来的多个二进制目标文件链接在一起形成最终的可执行文件链接的时候还会涉 及到静态库和动态库等问题。 2.2 单个文件编译运行 对于简单的单个的C程序只需要调用系统的头文件而不需要调用外部自己编写的c程序那么只需要使用 gcc -o  xx   xx.c即可。如下所示。 在命令行中输入 vi hello.c 在hello.c中添加一个简单的c程序 #include stdio.hint main(void){printf(hello world\r\n);return 0;}保存后退出使用gcc编译 gcc -o hello hello.c 使用ls 即可查看到生成的hello文件 运行 ./hello  即可看到命令行输出打印信息 2.3 多个文件编译链接运行 通过键盘输入两个整形数字然后计算他们的和并将结果显示在屏幕上在这个工程中我们有 main.c、 input.c 和 calcu.c 这三个 C 文件和 input.h、 calcu.h 这两个头文件。其中 main.c 是主体 input.c 负责接收从键盘输入的数值 calcu.c 进行任意两个数相加。 在文件夹中创建以下几个文件 main.c 1 #include stdio.h2 #include input.h3 #include calcu.h4 5 int main(int argc, char *argv[])6 {7 int a, b, num;8 input_int(a, b);9 num calcu(a, b);10 printf(%d %d %d\r\n, a, b, num);11 }input.c #include stdio.h #include input.hvoid input_int(int *a, int *b){printf(input two num:);scanf(%d %d, a, b);printf(\r\n);} calcu.c #include calcu.h int calcu(int a, int b) {return (a b); }input.h #ifndef _INPUT_H #define _INPUT_Hvoid input_int(int *a, int *b);#endif calcu.h #ifndef _CALCU_H #define _CALCU_Hint calcu(int a, int b);#endif 输入命令行  gcc main.c calcu.c input.c -o main 对 main.c calcu.c input.c 进行编译并链接成 main 可执行文件 运行结果 三、 makefile引入使用 3.1 实例 对于2.3中的例子只需要一行代码即可解决编译看起来还是挺简单的。但是在实际项目中有很多.c和.h文件如果每次都这样编译链接的话可就太麻烦了。因此引入makefile简化这个编译流程。 在当前文件中创建一个 Makefile文件 vi Makefile 在代码中添加 1 main: main.o input.o calcu.o2 gcc -o main main.o input.o calcu.o3 main.o: main.c4 gcc -c main.c5 input.o: input.c6 gcc -c input.c7 calcu.o: calcu.c8 gcc -c calcu.c9 10 clean:11 rm *.o12 rm main写好makefile后使用make 即可对多个文件进行编译、链接 make 可以看到编译器单独对 main.c input.c calcu.c 进行了编译最后链接生成了main.o可执行文件 对于多个C文件来说方便了很多。 3.2 makefile解释 1 main: main.o input.o calcu.o2 gcc -o main main.o input.o calcu.o3 main.o: main.c4 gcc -c main.c5 input.o: input.c6 gcc -c input.c7 calcu.o: calcu.c8 gcc -c calcu.c9 10 clean:11 rm *.o12 rm mainmain: main.o input.o calcu.ogcc -o main main.o input.o calcu.o main 是最后需要生成的目标文件而main.o input.o calcu.o是生成main所需要的依赖文件 如果要更新目标 main就必须先更新它的所有依赖文件如果依赖文件中的任何一个有更新那么目标也必须更新“更新”就是执行一遍规则中的命令列表。 并通过gcc 命令将main.o input.o calcu.o链接成可执行文件main。 main.o: main.cgcc -c main.c 如上述代码差不多main.o为目标文件main.c为依赖文件通过执行gcc -c main.c生成目标文件。input.o calcu.o跟这个一样就不过多阐述了。 clean:rm *.orm main 当需要清除生成的目标文件时可通过命令行控制删除以.o结尾的目标文件 删除可执行文件 main。 可以看到输入make clean命令后以上文件皆被删除了。
http://www.w-s-a.com/news/194292/

相关文章:

  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站
  • 佘山网站建设创造网站需要多少钱
  • 南海佛山网站建设网站维护需要什么技能
  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网
  • 地方门户网站源码下载揭阳专业网站建设
  • 网站做优化好还是推广好wordpress百家号模版
  • 淘宝网网站建设的的意见校园微网站建设
  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能