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

无锡找做网站小米路由器3做网站

无锡找做网站,小米路由器3做网站,seo网站推广平台,网页升级紧急通知在哪里看#x1f3ac; 博客主页#xff1a;博主链接 #x1f3a5; 本文由 M malloc 原创#xff0c;首发于 CSDN#x1f649; #x1f384; 学习专栏推荐#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 #x1f3c5; 欢迎点赞 #x1f44d; 收藏 ⭐留言 #x1f4dd; 如… 博客主页博主链接 本文由 M malloc 原创首发于 CSDN 学习专栏推荐LeetCode刷题集 数据库专栏 初阶数据结构 欢迎点赞 收藏 ⭐留言 如有错误敬请指正 未来很长值得我们全力奔赴更美好的生活✨ 文章目录 本章详情Linux背景知识⏳预处理(进行宏替换头文件展开等)⏳编译生成汇编⏳汇编(生成可执行文件或库文件)⏳连接(生成可执行文件或库文件)⏳函数库⏳函数库一般分为静态库和动态库两种⏳gcc指令选项 如何巩固学习本文小结 本章详情 本篇文章将讲授Linux的编辑器-gcc/g的使用相关的知识。 通常在写代码的时候我们一般用的都是IDE就是一些集成的开发工具。我们只需要手动的点一点就能进行编译了那么其实我们并不懂其中的原理这篇文章带你初步来了解一下这个过程吧并且如何使用gcc。 Linux背景知识 ⏳预处理(进行宏替换头文件展开等) 功能 预处理功能主要包括宏定义,文件包含,条件编译,去注释等。 预处理指令是以#号开头的代码行。 实例: gcc –E hello.c –o hello.i 选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。 选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。 举例讲解 输入 gcc -E test.c -o test.i输出 这里的我们生成了一个.i后缀的文件这里就要科普一下了-o是指定生成了目标文件一般.i文件名为后缀的就是已经处理过的C原始程序了。下面我们来看一张图就可以更好的理解啦 输入 vim test.i 输出 左边的test.i文件就是预处理生成的文件而左边的test.c是没有经过预处理的文件我们来看看差别吧我们会发现我们看不到我们注释的东西了你们发现没再来看我们还把头文件展开了还有一种条件编译这个等以后再讲吧 ⏳编译生成汇编 在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言。 用户可以使用“-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。 实例: gcc –S hello.i –o hello.s 生成汇编代码其实很多代码的底层都是汇编在计算机发展的过程中最初的计算机都是贼大一台的这时候那么伟大的科学家觉得这样不行机器不便于携带还贼贵并且当时都是0101这样的数据格式科学家觉得这样的计算量太大了于是就有了汇编代码 输入 gcc -S test.i -o test.s输出 此时我们可以发现已经生成了后缀名为.s的文件那么我们现在用vim编辑器来打开试试看我们看看里面到底存放了什么东西。我们输入vim test.s 是不是很熟悉相信用过vs的小伙伴都知道这是生成的汇编代码。 ⏳汇编(生成可执行文件或库文件) 汇编阶段是把编译阶段生成的“.s”文件转成目标文件.obj 读者在此可使用选项“-c”就可看到汇编代码已转化为“.o”的二进制目标代码了 实例: gcc –c hello.s –o hello.o 输入 gcc -c test.s -o test.o输出 哈哈哈哈我们会发现这是一些我们都看不懂的东西对不对呢没错这些东西尊嘟很难看懂这都是给电脑看的电脑能识别就行啦 ⏳连接(生成可执行文件或库文件) 在成功编译之后,就进入了链接阶段。 实例: gcc hello.o –o hello 在所有的概念中还有一种叫动静态库的概念我们可以试想一下我们就随便的包一个头文件难道就可以编译这些东西了吗。其实在下载软件的时候都已经帮你们下载好啦我现在用的是云服务器所以连接的是动态库。 举例说明 输入 gcc test.o -o test输出 这里生成了一个可执行文件。我们怎么知道他是可执行文件呢在我写的权限篇有讲噢不记得的自己再去看看啦 之后我们就可以直接执行该文件啦 ⏳函数库 问 我们的C程序中并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢? 答 最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,gcc 会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到 libc.so.6 库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用; ⏳函数库一般分为静态库和动态库两种 静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为“.a” 动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so”,如前面所述的 libc.so.6 就是动态库。gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。 gcc hello.o –o hello gcc默认生成的二进制程序是动态链接的这点可以通过 file 命令验证。 ⏳gcc指令选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面 -S 编译到汇编语言不进行汇编和链接 -c 编译到目标代码 -o 文件输出到 文件 -static 此选项对生成的文件采用静态链接 -g 生成调试信息。GNU 调试器可利用该信息。 -shared 此选项将尽量使用动态库所以生成文件比较小但是需要系统由动态库. -O0 -O1 -O2 -O3 编译器的优化选项的4个级别-O0表示没有优化,-O1为缺省值-O3优化级别最高 -w 不生成任何警告信息。 -Wall 生成所有警告信息。 如何巩固学习 提示在学习的过程中我们需要先自行进行思考并且多去阅读一些大佬的书籍俗话说的好书籍是人类进步的阶梯 本文小结 好啦今日的分享到这里就结束啦我是爱你们的M malloc希望可以帮助到你们噢最后别忘记三连啦
http://www.hkea.cn/news/14325320/

相关文章:

  • 一家专业做导购的网站网页设计与网站建设
  • 建设网站需要备案广州市网站建设制作费用
  • 咖啡厅网站开发目标如何做网站导航栏的seo优化
  • 网页设计和网站建设毕业设计黄骅seo
  • 乐彩网站源码网站建设做网站的时候用的什么框架
  • 遂宁市做网站的公司seo 网站排名
  • 网站设计计划用vs怎么做网站的导航
  • 环球国际网站建设电商平台运营策略
  • php服装网站模板正规网站建设加盟合作
  • 什么网站程序做资料库h5开发是做什么
  • 个人网站一般做多大模板建站影响网站的优化排名
  • 高端网站建设万维科技餐饮网络推广有哪些渠道
  • 网站未建设的情况说明erp系统多少钱
  • android网站开发实例wordpress哪个主题适合做网址导航
  • 惠州网站建设英语女装标题优化关键词
  • 高端网站建设的公司网络培训合同履行地如何确定
  • 做外贸生意上国外网站淄博手机网站开发公司
  • 如何建设学校网站杭州定制网站开发
  • 谁有qq网站开发资源群怎么查找网站建设
  • 公司网站建设的视频教程网站建设服务费计入什么科目
  • 如何在网站上做飘窗链接如何建设公司网络营销网站
  • 网站开发软件开发流程什么网站做装修公司广告比较好
  • 怎么使用网站模板外卖网站那家做的好
  • 广州网站建设解决方案dw下载中文版破解
  • 做电子购物网站需要申请做电影网站违法
  • 校园网站系统建设需求网站开发进程报告
  • 建网站用什么工作站网络营销策略的概念有哪些
  • 机械设计网seo产品
  • 海淀企业型网站建设天元建设集团有限公司网站
  • 建站之星设计师阳江城乡建设部网站首页