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

网站建设如何导入音乐一键制作短视频

网站建设如何导入音乐,一键制作短视频,网站底部导航设置,智慧旅游景区网站建设#x1f525;#x1f525; 欢迎来到小林的博客#xff01;#xff01;       #x1f6f0;️博客主页#xff1a;✈️小林爱敲代码       #x1f6f0;️社区 : 进步学堂       #x1f6f0;️欢迎关注#xff1a;#x1f44d;点赞#x1f64c;收…         欢迎来到小林的博客       ️博客主页✈️小林爱敲代码       ️社区 : 进步学堂       ️欢迎关注点赞收藏✍️留言 文章目录gcc/g的使用gcc/g的使用静态库和动态库gcc的一些操作选项gdb调试器的使用gdb的安装及使用gdb的常用指令总结gcc/g的使用 gcc/g的使用 gcc/g是一个Linux编译器gcc是用来编译c语言的而g是用来编译c的所以这2个编译器的使用方法是一样的。我们这里只讲解gcc把一个C语言文件生成可执行程序要经历四个阶段 1. 预处理 预处理功能主要包括宏定义,文件包含,条件编译,去注释等。预处理指令是以#号开头的代码行。 实例: gcc –E mytest.c –o mytest.i选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。 以下是在Linux上的演示。首先我新建了一个 mytest.c的文件并编辑了一段代码。 现在我们执行命令 gcc -E mytest.c -o mytest.i 我们会发现生成了一个mytest.i文件然后我们用vim打开这个文件看看。 我们可以看到之前打的注释没了宏定义Num也替换了并且头文件stdio.h在最上面展开。所以预处理功能主要包括宏定义,头文件展开,条件编译,去注释等。 2. 编译 在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言。用户可以使用“-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。例子: gcc –S mytest.i –o mytest.s 案例演示 我们还是用上面弄出来的mytest.i文件。 输入命令 gcc -S mytest.i -o mytest.s 然后就可以看到生成了一个mytest.s的文件然后我们用vim打开它看看里面是什么内容。 我们可以看到mytest.s文件里面都是汇编代码这也就意味着 .s文件存的是C语言代码被转换成汇编时对应的汇编代码。 3.汇编 汇编阶段是把编译阶段生成的“.s”文件转成目标文件读者在此可使用选项“-c”就可看到汇编代码已转化为“.o”的二进制目标代码了实例: gcc –c hello.s –o hello.o 那么我们继续用上面的 mytest.s文件来演示。 我们输入 gcc -c mytest.s -o mytest.o 我们就可以看到生成了mytest.o文件那我们也打开它看看它长什么样。 我们可以看到它全是一些乱码这就意味着这个文件是一个二进制文件。也就是说汇编这个过程 是把汇编代码转换成二进制的机器码。 4.链接 在成功编译之后,就进入了链接阶段。比如: gcc mytest.o –o mytest 然后我们发现我们有一个mytest的可执行文件。我们可以直接运行。 我们可以看到打印了10000不过没有换行所以挤在了一起。 当然gcc mytest.c -o mytest 也是可以的。 静态库和动态库 静态库 静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也 就不再需要库文件了。其后缀名一般为“.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生成所有警告信息。 gdb调试器的使用 程序的发布方式有两种debug模式和release模式Linux gcc/g出来的二进制程序默认是release模式要使用gdb调试必须在源代码生成二进制程序的时候, 加上 -g 选项 gdb的安装及使用 而进入调试界面的方式是 gdb 可执行程序名。 再此之前我们得有一个程序。下面是我们在test.c文件里面写的一个程序。 #includestdio.hint TopSum(int max) {int sum 0;for(int i 1; i max ; i ){sum i;}return sum; }int main() {int i 100;int ret TopSum(i);printf(%d\n,ret);return 0; } 然后我们编译它我们必须在编译的时候加上 -g选项因为默认选项是release版本的。release版本是不支持调试的只有加上 -g选项后才能让生成的可执行程序是debug版本。所以我们可以输入命令 gcc test.c -o test -g 而编译的时候提示报错这是因为 for(int i …)在for循环里面定义变量只有在C99版本才能支持。所以我们把命令换成 gcc test.c -o test -g -stdc99 即可 这样就可以了然后我们 gdb test即可进入调试界面。 如果出现这种信息是因为你还没有安装gbd那么可以用root用户去安装一下。 安装命令yum install gdb 成功进入调试界面是这样的。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gd0kwEPE-1677680336801)(C:\Users\王有林\AppData\Roaming\Typora\typora-user-images\image-20230204153230111.png)] 然后我们可以通过各种各样的指令来调试。 gdb的常用指令 那我们来演示几个最基本的命令 list/l 10 显示第10行的代码 run /r 运行程序 break/b 17 在第17行打上断点 info break/b 查看断点信息 n 单条执行 因为断点打在17行所以17行执行完就到第18行了。 s/step 进入函数调用 进入到了函数的第一行就是成功进入函数调用了。 delete breakpoints n 删除编号为n的断点 在删除之前我们要先知道断点的编号。所以我们要先info b来查看断点信息。 Num这一列对应的就是断点编号我们可以看到17行的断点编号为1所以我们可以执行命令delete breakpoints 1来删除断点。 删除后我们再调用info b来查看断点信息发现没有断点了这就说明我们删除断点成功。 当然gdb工具的使用命令还有很多在下面已经为大家列好了一张命令操作表 选项说明listl 行号显示binFile源代码接着上次的位置往下列每次列10行。listl 函数名列出某个函数的源代码。r或run运行程序。n 或 next单条执行。s或step进入函数调用break(b) 行号在某一行设置断点break 函数名在某个函数开头设置断点info break查看断点信息。finish执行到当前函数返回然后挺下来等待命令print( p )打印表达式的值通过表达式可以修改变量的值或者调用函数p 变量打印变量值。set var修改变量的值continue(或c)从当前位置开始连续而非单步执行程序run(或r)从开始连续而非单步执行程序delete breakpoints删除所有断点delete breakpoints n删除序号为n的断点disable breakpoints禁用断点enable breakpoints启用断点info(或i) breakpoints参看当前设置了哪些断点display 变量名跟踪查看一个变量每次停下来都显示它的值undisplay取消对先前设置的那些变量的跟踪until X行号跳至X行breaktrace(或bt)查看各级函数调用及参数infoi) locals查看当前栈帧局部变量的值quit退出gdb总结 如果有写的有什么不好的地方希望大家指证出来我会不断的改正自己的错误。如果感觉写的还可以可以点赞三连一波哦~后续会持续为大家更新 你们的支持是我最大的动力希望在往后的日子里我们大家一起进步
http://www.dnsts.com.cn/news/236979.html

相关文章:

  • 网站建设网络推广方案美团网站建设总体需求与目标
  • 专业做网站公司排名企业网站的页面布局
  • 江苏优化网站哪家好公司网络组建工作方案
  • 做五金奖牌进什么网站手机端h5
  • 欧莱雅网站建设与推广方案wordpress woocommerce 添加属性
  • 网站投注建设新县城乡规划建设局网站
  • 商务网站设计方案html5网站单页模板
  • 今标 网站建设关于网站建设的合同
  • 烟台做网站电话嘉兴网站制作多少钱
  • 临夏城乡建设局网站平阳住房和城乡规划建设局网站
  • 一个网站需要怎么做望野王维原文
  • 网站备案工信部wordpress创客云
  • 建站公司人员配置网站产品详情用哪个软件做的
  • 目前做网站框架小城市网站建设业务
  • 小公司网络搭建平台优化是什么意思
  • 电商网站建设哪家好成都 企业 网站制作
  • 网站营销型企业销售平台如何在网站上做咨询浮动窗口
  • 网站备案时间周期一般多久手机模块网站
  • 柠檬网络科技网站建设增城网站怎么做seo
  • 鞍山市建设局网站东莞热的建设网站
  • 网站后台登录界面代码自贡住房和城乡建设厅网站
  • 南宁优质手机网站建设公司学校网站建设信息
  • 12306网站建设超30亿郑州专业做网站
  • 网站建设公司服务公司如何学做网站
  • 韶关市住房和城乡建设部网站wordpress+极简博客
  • 姜堰网站建设小程序开发费用一览表fhq华网天下
  • 现在网站建设都用什么语言西安seo排名外包
  • 企业名录搜索软件现在那个能用谷歌外贸seo
  • 深圳专业的网站制作公司wordpress如何添加远程数据库
  • phpwind怎么做网站小程序公司