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

建设银行信用卡去网站企业宣传视频

建设银行信用卡去网站,企业宣传视频,m网上购物商城,构建网站需要会什么#x1f440;樊梓慕#xff1a;个人主页 #x1f3a5;个人专栏#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 #x1f31d;每一个不曾起舞的日子#xff0c;都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及… 樊梓慕个人主页 个人专栏《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 每一个不曾起舞的日子都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及编译器是如何翻译代码的 1预处理 2编译 3汇编 4链接 3.动静态库 4.gdb的使用 前言 本篇文章博主将会讲解gcc/g的使用并搭配编译器相关知识讲解代码翻译的过程一些常见的gcc/g语法也会总结出来在Linux下想要调试代码我们需要借助GUN调试器gdb那如何使用gdb博主也会进行讲解。 欢迎大家收藏以便未来做题时可以快速找到思路巧妙的方法可以事半功倍。 GITEE相关代码fanfei_c的仓库 1.gcc/g语法 gcc [选项] 要编译的文件 [选项] [目标文件] 常用选项速览 -E 只激活预处理这个不生成文件你需要把它重定向到一个输出文件里面否则就会打印到屏幕上。-S 编译到汇编语言不进行汇编和链接。-c 编译到目标代码。-o 将处理结果输出到指定文件后接文件名。-static 此选项对生成的文件采用静态链接。-g 生成调试信息。GNU 调试器即gdb调试器可利用该信息。-shared 此选项将尽量使用动态库所以生成文件比较小。-w 不生成任何警告信息。-Wall 生成所有警告信息。-O0/-O1/-O2/-O3 编译器的优化选项的4个级别-O0表示没有优化,-O1为缺省值-O3优化级别最高 2.gcc的使用及编译器是如何翻译代码的 1预处理 预处理功能主要包括宏替换、头文件展开、条件编译、去注释等预处理指令是以#号开头的代码行。 实例: gcc –E test.c –o test.i 选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。 选项“-o”是指目标文件“.i”文件为已经过预处理的C原始程序 条件编译多提一嘴 我们可以通过给编译器传递不同的宏值来进行对代码的动态裁剪。 实例gcc test.c -o test -D VERSION11 2编译 编译阶段gcc/g首先检查代码的规范性、是否有语法错误等以确定代码的实际要做的工作在检查无误后将代码翻译成汇编语言。 实例gcc -S test.i -o test.s 用户可以使用-S选项来进行查看该选项只进行编译而不进行汇编生成汇编代码。 -o选项是指目标文件“xxx.s”文件为已经过翻译的原始程序。 3汇编 汇编阶段是把编译阶段生成的“xxx.s”文件转成目标文件。 实例gcc –c test.s –o test.o -c选项可以得到汇编代码转化为“xxx.o”的二进制目标代码了。 4链接 在成功完成以上步骤之后就进入了链接阶段。 链接的主要任务就是将生成的各个“xxx.o”文件进行链接生成可执行文件。 gcc/g不带-E、-S、-c选项时就默认生成预处理、编译、汇编、链接全过程后的文件。 实例gcc test.o –o test 巧记键盘左上角ESC分别对应预处理、编译、汇编。 若不用-o选项指定生成文件的文件名则默认生成的可执行文件名为a.out。 在我们编写代码时时常需要使用库函数中的函数比如stdio.h中的printf函数但当我们展开stdio.h文件后发现也只是有printf的函数声明那么这些库函数的定义放在哪里了呢 就以stdio.h头文件举例里面的库函数实现在了名为libc.so.6C标准库的库文件中。在没有特别指定时gcc 会到系统默认的搜索路径“/usr/lib”下进行查找也就是链接到 libc.so.6 库函数中去这样就能实现printf函数了而这也就是链接的作用。 3.动静态库 静态库是指编译链接时把库文件的代码全部加入到可执行文件当中因此生成的文件比较大但在运行时也就不再需要库文件了静态库一般以.a为后缀。动态库与之相反在编译链接时并没有把库文件的代码加入到可执行文件当中而是在程序运行时由链接文件加载库这样可以节省系统的开销动态库一般以.so为后缀。 动静态库的优缺点对比 动静态链接比对 链接方式库及特性Linux后缀Windows后缀动态链接动态库被多个使用者共同使用一旦缺失所有程序都不可以运行了.so.dll静态链接静态库不需要关联将库文件代码直接拷贝到可执行文件中.a.lib 动态库 优点节省资源包括磁盘、内存、网络等资源不会出现太多重复代码。缺点对库的依赖性较强一旦库丢失所有使用这个库的程序都无法运行。 静态库 优点不依赖库同类型平台中都可以直接运行。缺点可执行程序体积较大比较浪费自愿。 动态链接实例gcc -o mybin mytest.cLinux默认 静态链接实例gcc -o mybin-static mytest.c -static 可利用file查看可执行文件的链接方式 比对下静态链接与动态链接生成的可执行文件的大小 所以说静态链接安全可靠但是浪费资源。  可利用ldd 文件名查看可执行文件所依赖的库当有缺失时会有提示 4.gdb的使用 首先我们知道程序的发布方式有两种 debug版本程序本身会被加入更多的调试信息以便于进行调试。release版本不会添加任何调试信息是不可调试的。 在Linux当中gcc/g默认生成的可执行程序是release版本的是不可被调试的。 如果想生成debug版本就需要在使用gcc/g生成可执行程序时加上-g选项。 gdb语法速览 【安装gdb】 sudo yum install -y gdb  【进入gdb】 指令 gdb 文件名 【调试】 「run/r」运行代码启动调试。「next/n」逐过程调试。「step/s」逐语句调试。「until 行号」跳转至指定行。「finish」执行完当前正在调用的函数后停下来不能是主函数。「continue/c」运行到下一个断点处。「set var 变量x」修改变量的值为x。 【显示】 「list/l n」显示从第n行开始的源代码每次显示10行若n未给出则默认从上次的位置往下显示.。「list/l 函数名」显示该函数的源代码。「print/p 变量」打印变量的值。「print/p 变量」打印变量的地址。「print/p 表达式」打印表达式的值通过表达式可以修改变量的值。「display 变量」将变量加入常显示每次停下来都显示它的值。「display 变量」将变量的地址加入常显示。「undisplay 编号」取消指定编号变量的常显示。「bt」查看各级函数调用及参数。「info/i locals」查看当前栈帧当中局部变量的值。 【断点】 「break/b n」在第n行设置断点。多文件在test.c文件的第7行打断点b test.c:7「break/b 函数名」在某函数体内第一行设置断点。「info breakpoint/b」查看已打断点信息。「delete/d 编号」删除指定编号的断点。「disable 编号」禁用指定编号的断点。「enable 编号」启用指定编号的断点。 【退出gdb】 「quit/q」退出gdb。 如果你对该系列文章有兴趣的话欢迎持续关注博主动态博主会持续输出优质内容 博主很需要大家的支持你的支持是我创作的不竭动力 ~ 点赞收藏关注 ~
http://www.yutouwan.com/news/171624/

相关文章:

  • 移动版网站模板青浦手机网站建设
  • 介休市网站建设公司均安建网站
  • 开设赌场罪建设网站中山企业网站建设公司
  • wordpress子域名设置甲马营seo网站优化的
  • 建立网站福建seo学校
  • ps模板下载网站wordpress 4.5.3 ueditor
  • 西安网站建设哪里好如何自己做优惠卷网站
  • 建设银行网站的登录验证程序安全吗响应式企业网站 下载
  • 不再更新的网站江苏发布最新消息
  • 外国网页设计网站校区网站建设
  • 湛江免费建站公司网络公司 营销型网站
  • 做直播信号网站建设网站青岛市
  • 网站上传源码后怎么弄网站建设p
  • 网站建设教程l新媒体培训班学费多少
  • 济南网站建设 选聚搜网络工业设计作品网站
  • 福建大舟建设集团有限公司 网站单机怎么做网站
  • 网站建设与管理方向注册网站建设公司主营项目类别
  • 如何建立内外网网站教育机构有哪些
  • wordpress网站如何制作seo图片优化
  • 青岛建设管理局网站做网站最专业的公司
  • 网站开发工程师的职位wordpress推荐商品主题
  • 在郑州网站建设iis 网站 500
  • 南宁网站建设产品介绍沈阳网站制作流程
  • 动易网站建设青岛专业网站建设公司排名
  • 做三维特效的好网站网络游戏的利弊
  • 北京设计公司网站怎么进行网站备案
  • 网站关键词优化案例福州一站式品牌推广运营公司
  • 褚橙的网站建设软文写作范例大全
  • 十大设计创意产品网站高校网站建设需求分析报告
  • 建设商务网站的经济可行性分析石家庄网站系统开发