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

扬州新闻头条最新消息网站运营seo实训总结

扬州新闻头条最新消息,网站运营seo实训总结,网站制作北京,网站后台添加新闻文章目录 GNU编译器示例编译 GNU编译器 GNU编译器(GNU Compiler)是由自由软件基金会(Free Software Foundation,FSF)开发和维护的一套编译器集合。这些编译器主要用于编译各种编程语言的源代码,将其转换为…

文章目录

  • GNU编译器
  • 示例
  • 编译

GNU编译器

GNU编译器(GNU Compiler)是由自由软件基金会(Free Software Foundation,FSF)开发和维护的一套编译器集合。这些编译器主要用于编译各种编程语言的源代码,将其转换为可执行文件或库。GNU编译器集合的其中一个最知名的成员是GCC(GNU Compiler Collection)。

GCC支持多种编程语言,包括C、C++、Fortran、Ada、Objective-C等。它在许多操作系统上都可用,包括各种类UNIX系统、Linux、Windows等。GCC的设计目标之一是提供高度的可移植性,使得开发者可以在不同的平台上使用相同的源代码进行编译。

除了GCC之外,GNU编译器集合还包括其他工具,例如GDB(GNU Debugger),用于调试程序;GFORTRAN,用于Fortran语言的编译器;以及GNAT,用于Ada语言的编译器等。

GNU编译器是自由软件,遵循自由软件基金会的通用公共许可证(GPL)等自由软件许可协议。这意味着用户可以自由地查看、修改和分发这些编译器的源代码。

大多数编译系统提供编译器驱动程序(compiler driver),它代表用户在需要时调用语言预处理器、编译器、汇编器和链接器。

示例

sum.h

#ifndef __SUM__H_
#define __SUM__H_int sum(int *a,int n);#endif

sum.c

#include "sum.h"
int sum(int *a,int n){int i,s=0;for ( i = 0; i < n; i++){s += a[i];}return s;
}

main.c

#include "sum.h"
int array[2] = {1,2};
int main(int argc, char const *argv[])
{int val = sum(array,2);return 0;
}

编译

在 shell 中输人下列命令来调用GCC 驱动程序:

linux> gcc -Og -o prog main.c sum.c

这个命令使用GCC编译器,它的目标是将两个C语言源代码文件(main.c和sum.c)编译成一个可执行文件,该文件的名称将被命名为“prog”。
解释每个部分:

  • gcc: GNU Compiler Collection的命令,用于调用GCC编译器。

  • -Og: 这是一个编译选项,表示启用优化。具体而言,这是“优化为调试”(Optimize for Debugging)的意思。它启用一些优化,但保留了对调试的支持,因此在开发时可以更轻松地进行调试。

  • -o prog: 这是一个指定输出文件名的选项。在这里,“prog”是输出可执行文件的名称。

  • main.c sum.c: 这是要编译的源代码文件的名称,用空格分隔。在这个例子中,它们是“main.c”和“sum.c”。

这个命令将执行编译操作,生成一个名为“prog”的可执行文件,其中包含来“main.c”和“sum.c”的源代码。如果编译成功,你可以通过运行./prog来执行生成的可执行文件。

下图概括了驱动程序在将示例程序从ASCII码源文件翻译成可执行目标文件时的行为。
在这里插入图片描述
如果想看看这些步骤,用-v 选项来运行 GCC。驱动程序首先运行 C预处理器(cpp),它将 C的源程序 main.c翻译成一个ASCII码的中间文件 main.i:

cpp [other arguments] main.c /tmp/main.i

接下来,驱动程序运行 C编译器(ccl),它将 main.i 翻译成一个ASCII 汇编语言文件 main.s:

cc1 /tmp/main.i -0g [other arguments] -o /tmp/main.s

然后,驱动程序运行汇编器(as),它将 main.s 翻译成一个可重定位目标文件(relo-catable object file)main.o:

as [otherarguments] -o /tmp/main.o /tmp/main.s

驱动程序经过相同的过程生成 sum.o。
最后,它运行链接器程序 ld,将 main.o和sum.o以及一些必要的系统目标文件组合起来,创建一个可执行目标文件(executable object file)prog:

ld -o prog [system object files and args] /tmp/main.o /tmp/sum.o

要运行可执行文件 prog,我们在 Linux shell 的命令行上输入它的名字

linux> ./prog

shell 调用操作系统中一个叫做加载器(loader)的函数,它将可执行文件 prog 中的代码和数据复制到内存,然后将控制转移到这个程序的开头。

http://www.mmbaike.com/news/39038.html

相关文章:

  • 律师做推广的网站ping站长工具
  • 网上鲜花店网站建设实施方案营销型网站建站
  • pc做网站新闻最近的新闻
  • 我市强化属地网站建设seo内容优化方法
  • 哪里有做枪网站的河北seo基础教程
  • 地域名网址ip查询宁波seo推广公司排名
  • 做古风人物小图的网站或软件优化深圳seo
  • 个体营业执照可以做网站搞推广吗有什么平台可以发广告
  • 视频拍摄培训怎么进行网站关键词优化
  • 做教育机构的设计哪些网站好360建站官网
  • 网络规划设计师教程第2版pdf百度seo网站推广工具
  • 烟台网站建设威企汇互联见效付款网站怎么快速收录
  • 免费虚拟主机网站源码seo网站关键词优化多少钱
  • 网站主题颜色聊城优化seo
  • wordpress可以建什么站互联网平台推广
  • 网站开发存在的风险关键词首页排名优化平台
  • 做网站的软件项目进度计划店铺推广软文案例
  • 深圳哪家公司需要网站建设的山东建站
  • html做游戏网站厦门网站优化
  • 软件开发要学什么搜索引擎优化技巧
  • 网页设计与网站建设 作业360应用商店
  • 中国那些企业做网站做得好企业邮箱注册申请
  • 无锡网站代运营公司靠谱吗
  • 宣传产品网站最新军事报道
  • 如何做网站用户活跃度网站seo查询
  • 网站 特效都是用什么软件做的重庆seo俱乐部联系方式
  • 高端医疗网站模板免费下载常用的网络推广手段有哪些
  • 网站做cpa赚钱吗网络营销师证书需要多少钱
  • 怎么做flash网站营销推广方案
  • 云南网官方网站商业推广费用一般多少