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

天津网站建设91fyh小程序开店流程

天津网站建设91fyh,小程序开店流程,安徽省住房与城乡建设厅网站,wordpress动态模板1.gcc概述 GCC全称是GUN C Compiler 随着时代的发展GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection gcc的作用相当于翻译官,把程序设计语言翻译成计算机能理解的机器语言。 (1)gcc -o gcc -o (其…

1.gcc概述

GCC全称是GUN C Compiler

随着时代的发展GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection

gcc的作用相当于翻译官,把程序设计语言翻译成计算机能理解的机器语言。

(1)gcc -o 

gcc -o (其中o相当于output)

gcc -o 输出的文件名 输入文件名

-o后面一定首先加入的是output file

例子:

gcc -o build helloworld.c
//通过gcc将helloworld.c文件生成新的执行文件build
//在Linux中build不需要加后缀,在Windows中需要加后缀build.exe

(2)gcc -v 

 gcc -v 显示编译阶段的命令

例子:

gcc -v -o build helloworld.c
//通过-v命令我们可以发现gcc通过调用很多翻译官,把helloworld.c翻译为build

2.C语言编译过程介绍 

(1)预处理

cpp -o a.i 08.c

【gcc -E】对源文件进行预处理

预处理:编译器将C语言的头文件编译进来,还有宏的替换。(头文件#include,宏定义#define)

(2)编译

/usr/lib/gcc/aarch64-linux-gnu/9/cc1 -o ccgaeAEA.s 08.c

cc1将08.c文件翻译成ccgaeAEA.s文件 ,cc1又称为编译器

【gcc -S】 就相当于间接调用/usr/lib/gcc/aarch64-linux-gnu/9/cc1 

(3)汇编 

 as -o cclL6PC.o ccgaeAEA.s

 as将ccgaeAEA.s文件翻译成cclL6PC.o文件

【gcc -c】 相当于间接调用as(当然也是先间接调用cc1将.c文件翻译为.s文件再调用的as)

(4)链接

 /usr/lib/gcc/aarch64-linux-gnu/9/collect2 -o build cclL6PC.o和其他.o文件

【gcc -o】 相当于 /usr/lib/gcc/aarch64-linux-gnu/9/collect2

gcc -o build 08.c就相当于先调用了gcc -S和gcc -c,最后再调用gcc -o。(也就是gcc -o可以直接完成编译和汇编这两个过程。)

总结后缀为.s的文件里面的内容是汇编语言。后缀为.o文件的文件里面是机器语言(二进制语言)。

3.C语言编译常见的错误举例

(1)预处理错误

#include "name" (""在当前目录下去寻找name,""一般用于自定义的)

#include <name>(<>在系统环境变量中去寻找name,<>一般是系统库的)

常见错误就是not find 找不到文件

解决方案:

gcc -I 后面跟查找头文件的目录(是i大写I)

(2)编译错误

1.语法错误

2.链接错误:1)原材料不够,

undefined refernce to fun

寻找标签是否实现了,链接时是否加入了链接

2)多了

multiple definition of 'fun'

多次实现了标签(就是原本的.c文件里fun函数完整了,但是又引入了一个外部的.c文件里面的fun函数) ,最终只保留一个标签实现。

例子: 

出现了 undefined refernce to fun,就是因为fun函数不完整。

 解决方法一:

去掉void  fun(void)的;然后添加{ }

解决方法二:

新建一个.c文件

 然后完善函数fun

最后在编译的时候吧含有完整fun函数的.c文件写在后面,就可以了

最好的写法是将两个.c文件都编译成.o文件

最后编译.o文件

4.C语言预处理介绍

1.#include    

 包含头文件(include不是关键字)

2.#define     

 宏(替换,编写时不进行语法检查,所以在编译时有时候会出错)

例子:

#define 宏名 宏体

#define ABC 5+3

printf("the %d\n",ABC*5)   //5+3*5=5+15=20

#define ABC {5+3} //最好加上{}

宏函数:

#define ABC(x)  5+(x)

3.条件编译:

#ifdef #else #endif

4.预定义宏

系统预定好的,编译器预定的。(前后都是两根下划线)

__FUNCTION__ :函数名

__LINE__:行号

__FILE__:文件名

例子:

 

 修改一下:

 

http://www.yayakq.cn/news/632532/

相关文章:

  • 喀什网站建设公司微信小程序一键生成免费
  • 工行网站如何做理财风险评估厦门房地产网站建设
  • 公司网站制作步骤流程图网站选项怎么做
  • 工具站seo网页编辑和发布流程不包括以下哪个选项
  • 企业还有人做网站么宝安网
  • 做推广自己找网站网站制作五个界面
  • 电子商务网站建设模板下载昆明专业网站排名推广
  • 如何申请网站空间和注册域名孝感seo
  • 千户微建站平台有什么网站可以做充值任务
  • 做移动网站优化qq推广功能在哪开
  • 网站设计策划书微网站平台
  • 开发电商网站多少钱自己专业做网站
  • 网站建设常用软件项目三的设计与制作
  • 网站 点击率有经验的唐山网站建设
  • 石家庄手机网站开发学习做网站的
  • 装修公司网站模版网站 app
  • 男女插孔做暖暖网站大全公司网站如何做的美丽
  • tornado 网站开发做设计用哪个素材网站好
  • 做网站私活网页游戏传奇世界网页版
  • 百度只收录网站首页大连工程信息招标网
  • 诊断网站seo现状的方法wordpress 高级
  • 施工企业跨专业接工作是否有效泉州seo 泉州网站建设
  • 优酷网站谁做的wordpress原理
  • 个人网站名称请建立网站每项内容可以设计成什么
  • 网站降权投诉公司免费网站域名注册
  • 网站数据库设置权限做商业地产的网站
  • 潍坊专业网站建设价格低我男同同性做视频网站
  • 杭州市建设局网站缙云做网站
  • 助孕网站优化推广山东省住房和建设网站
  • 丹东网站建设公司如何制作互联网网站