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

淘宝上做网站可信吗怎么建设游戏试玩平台网站

淘宝上做网站可信吗,怎么建设游戏试玩平台网站,广州天河区有什么好玩的,做一个微信小程序商城需要多少钱#x1f493;博主CSDN主页:杭电码农-NEO#x1f493;   ⏩专栏分类:Linux从入门到开通⏪   #x1f69a;代码仓库:NEO的学习日记#x1f69a;   #x1f339;关注我#x1faf5;带你学更多操作系统知识   #x1f51d;#x1f51d; Linux中的开发工具 1. 前言2.… 博主CSDN主页:杭电码农-NEO   ⏩专栏分类:Linux从入门到开通⏪   代码仓库:NEO的学习日记   关注我带你学更多操作系统知识   Linux中的开发工具 1. 前言2. gcc/g的使用介绍3. 执行可执行程序4. 程序翻译的四个阶段4.1 预处理阶段4.2 编译阶段4.3 汇编阶段4.4 链接阶段 5. 库函数的命名和分类(动静态库)6. 动静态库的区别与优缺点7.总结以及拓展 1. 前言 如果你不知道vim的各种用法和快捷键 请先阅读上一篇文章: yum和vim详解 现在,我们可以在Linux下编辑代码了 编辑好的文件是一个.c文件,vim不像 VS一样既可以编写代码也可以运行代码 在Linux中运行代码需要使用:gcc,g 本章重点: 本篇文章会着重讲解gcc/g的使用 以及程序翻译的几个过程和对应的文件 最后讲解动态库和静态库的区别和联系 2. gcc/g的使用介绍 首先我们要明确一点: 在之前的Linux学习中谈到 Linux中不分文件后缀,所以文本文件可以 设置后缀为txt来提醒读者这是一个文本文件 也可以什么都不写 但是Linux系统不分文件后缀 不代表Linux下的各种程序不分! 今天要学习的gcc和g就是Linux下的程序 它们是要看文件后缀的! gcc: C语言编译器,只能编译C语言 g: C编译器,C/C都可以编译 gcc/g使用方法: 生产的可执行程序名字默认为:a.out gcc code.c自定义可执行程序的名字 gcc code.c -o 自定义名字使用C99标准来编译 gcc code.c -std993. 执行可执行程序 执行可执行程序: 当我们编译好程序后,会在当前目录生成一个 可执行程序,此文件通常是绿色的 此时我们只需要使用以下指令即可运行代码! ./a.out注:.代表要在当前目录下找可执行文件.必须加上 4. 程序翻译的四个阶段 虽然现在已经掌握了如何编译并运行代码 但是在C/C代码的翻译过程中还有四个 阶段值得我们去学习: 预处理阶段编译阶段汇编阶段链接阶段 4.1 预处理阶段 预处理阶段要做的工作有: 头文件展开去掉注释条件编译宏替换 那么预处理阶段过后还是C语言吗? 现在我们用Linux指令来查看一下: 使用指令: gcc -E csdn.c -o csdn.i 指令解释:将程序停留在预处理过程后,生成.i文件 现在我们使用vim编辑器打开.i件: 预处理阶段 可以发现,我们写的代码在最下面 然而上面还有几百行其实就是头文件展开 所谓头文件展开就是: 将头文件的内容拷贝到当前文件 在头文件中有许多空行,这是 因为原先的头文件有注释,此时注释已经没了 注:其他工作大家可自行去验证 4.2 编译阶段 编译阶段的主要工作是: 将C语言翻译为汇编代码 编译阶段过后,就不是C语言了! 现在我们用Linux指令来查看一下: 使用指令: gcc -S csdn.i -o csdn.s 指令解释:将程序停留在编译过程后,生成.s文件 注:可以由.c文件直接使用以上指令变成.s文件 使用vim编辑器打开.s文件: B站视频描述 可以发现,现在的汇编代码 如果没有了解过是很难读懂的 4.3 汇编阶段 汇编阶段的主要工作是: 将汇编代码变成可重定位二进制文件 汇编阶段过后,文件存放的是二进制信息! 现在我们用Linux指令来查看一下: 使用指令: gcc -c csdn.s -o csdn.o 指令解释: 将程序停留在汇编过程后,形成.o文件 注:这里也可以用.c或.i文件形成.o文件 此时使用vim打开文件是乱码 可以使用指令od查看二进制文件: B站视频描述 4.4 链接阶段 链接阶段比较复杂,它大致的流程是这样的: .o文件 系统库 可执行程序 在本篇文章的后半段讲完动静态库后再解释! 5. 库函数的命名和分类(动静态库) 我们在写C语言代码时使用的printf函数 并没有自己实现,然而在stdio.h头文件中 也只有printf函数的说明,那么此函数的 实现是在哪里实现的呢? 引出今天的新内容 查看一个可执行程序依赖的第三方库 使用指令: ldd 可执行程序名 可以发现,在路径lib64里有一个文件叫libc.so.6 这个就是刚刚的C语言程序所要依赖的库 对于库名字的解释: 可见,libc.so.6实际上就是C的标准库! 拓展:Linux和Windows下动静态库命名区别: Linux下: .so 是动态库 .a 是静态库 Windows下: .ddl 是动态库 .lib 是静态库 现在我们就可以理解链接过程了 链接过程就是将.o文件和动/静态库结合的过程 6. 动静态库的区别与优缺点 通俗的来讲,动态库类似于网吧的电脑 而静态库类似于自己家里的电脑 它们的区别是: 动态库是共享库,通过函数地址来关联程序静态库是私有库,可以独立运行 动态库: 是C/C或其他第三方提供的所有方法的集合,被所有程序以动态链接的方式关联起来 静态库: 是C/C或其他第三方提供的所有方法的集合,被所有程序以拷贝的方式,将需要的代码拷贝至自己的可执行程序当中! 说白了,静态库是将所有代码拷贝过来 而动态库是去找函数的地址调用此函数 动静态库的优缺点: 动态库: 优点:形成的可执行程序体积较小,节省资源 缺点:要找函数地址,会稍慢一点,并且有强依赖性 静态库: 优点:无视库,可以独立运行 缺点: 体积太大,浪费资源 我们在编译代码时,默认使用的是动态库 并且Linux下绝大多数库都是动态库! 如果你想使用静态库编译代码 使用指令: gcc code.c -static 7.总结以及拓展 总的来说gcc,g这两个编译器并不难 掌握它们就需要学会使用一些特殊的指令 这里列出一些gcc常用的指令 大家可以下来自己尝试: 拓展: 计算机语言发展史和C/C的翻译过程 众所周知,计算机只认识二进制码是因为 计算机内的硬件元器件只认识二进制(正电/负电) 最开始和计算机交流是用二进制进行交流 最经典的用具就是二进制打孔胶带 科学家觉得用二进制交流非常不方便! 于是发明了汇编语言,汇编语言和汇编编译器 都是用二进制码写的,当这一过程被完善后 就可以用汇编语言来重新编写汇编编译器了! 有了汇编语言后陆陆续续又发展了许多语言 最经典的莫过于C语言!然而C语言是用汇编 代码编写的,C语言的编译器也是用汇编代码写的 当这一过程成熟后,就可以用C语言程序编写 C语言的编译器了,于是语言才慢慢发展起来 结论: 通过了解C语言的历史我们发现 C语言的翻译过程正是它的历史过程! 先从C语言翻译为汇编,再从汇编翻译为二进制 因为大佬总是懂得站在巨人的肩上,有前人 编写了从汇编到二进制的代码,那么我们就 不用再写直接从C语言到二进制的代码了 一是方便了科学家本身,二是让我们勿忘历史! 下期预告:Linux开发工具(下)
http://www.zqtcl.cn/news/502854/

相关文章:

  • 松江新城投资建设发展有限公司网站产品营销文案
  • 哪个网站有做彩平的材质贴图广州app开发公司排行十强
  • 泉州网站设计蜜桃传奇免费网页版
  • 做建筑机械网站那个网站好茂名网站开发服务商
  • 网站建设制作方法网站设计昆明
  • 设计一个自己的电商网站中国建设银行官网首页登录
  • 肇庆自助网站建设系统南通网站建设项目
  • 道农网站建设工作网站开发制作
  • 网页游戏网站快手wordpress hppts
  • 男男做h的视频网站德邦公司网站建设特点
  • 嘉兴市建设教育网站html5从入门到精通
  • 双语言网站源码在哪个网站可以找到做国珍的人
  • 广州建设网站哪家好烟台网站建设地址
  • 网址注册了怎么做网站wordpress截取标题
  • 网站备案一个主体龙岩网站建设行情
  • 深圳做网站的公司烟台网站开发技术
  • 网站开发就业前景分析手机网站导航设计
  • 山西焦煤集团公司网站推广公司一般都怎么推广
  • 前端视频教程网站燕郊网站建设哪家好
  • 加强校园网站建设方案做核酸检测收费标准
  • 主机开通成功网站正在建设中中国建设银行登录官网
  • 12306的网站是哪个公司做的wordpress搜索页分类
  • 众筹网站的分析与设计wordpress 主题制作教程
  • 淘宝放单网站怎么做app制作公司哪个好
  • 地税城市维护建设税网站是什么意思订阅号怎么开通小程序
  • 网站添加二级域名wordpress火车头免登录发布
  • 大美工设计网站官网中山网站建设找丁生
  • 做算命网站标准版网站制作
  • 建设网站是普通办公吗温州 网站 公司
  • 哪里做外贸网站汉服网站开发背景