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

专业的网站建设案例徐州网络推广服务

专业的网站建设案例,徐州网络推广服务,网络建设施工方案,湖南产品网络营销推荐咨询🌻个人主页:路飞雪吖~ 🌠专栏:Linux 目录 一、Linux调试器-gdb 🌟开始使用 🌠小贴士: 🌟gdb指令 🌠小贴士: ✨watch 监视 ✨打条件断点 二、小程序----进…

🌻个人主页:路飞雪吖~

       🌠专栏:Linux


目录

 

一、Linux调试器-gdb

🌟开始使用

🌠小贴士:

🌟gdb指令

🌠小贴士:

 ✨watch 监视

✨打条件断点

 

二、小程序----进度条

🌠知识储备:


一、Linux调试器-gdb

🌟开始使用

🌠小贴士:

1、要用gdb来进行调试,前提条件是代码必须是debug发布的。

(debug:添加调试信息; release:取消调试信息)

2、gcc/g++ 编译程序时,默认它采用的发布模式是release。

3、要使我们的程序用debug来发布,需要我们在编译时加上 -g 。

语法: gdb  [可执行程序]

退出: quit  / ctrl+d

🌟gdb指令

🌠小贴士:

• gdb会记录最新的一条命令,直接回车就是默认执行该命令;

指令功能
list / l 行号

显示可执行程序的源代码,

默认查看的代码行号处于展现代码的中间部分,共展现10行 

list / l 函数名列出某个函数的源代码
r或run运行程序(F5)
break(b) 行号在某一行设置断点

break 函数名

在某个函数开头设置断点
info break查看断点信息
d  断点编号删除断点
disable breakpoints禁用断点
enable breakpoints启用断点
n 或 next (F10)代码从断点处,单条执行(逐过程),不进入函数内部
s或step (F11)进入函数调用
display [要查看的内容]常显示具体信息(循环中 i 的值,地址.....)
undisplay [对应的编号]去掉显示的内容

p [变量]

p [表达式]

打印指定变量的值
until [次数]跳转到当前函数的内部的任意一行处

给指定文件打断点  ---> b [文件名]:行号/函数名

在我们一个调试周期下,断点的编号时递增的。

断点禁用:

断点被使用:

n 逐过程:不进入函数里面

进入函数内部后,查看详细的信息:

查看相关内容:

指定循环次数:

从上面就可以看出,gdb的调试,不方便查看代码,为此我们来介绍一个工具:

🌠小贴士:

在终端下/命令行中进行调试的工具

工具: cgdb  让代码进行可视化

安装: sudo yum install -y cgdb

使用: cgdb [可执行程序] 

调试的本质----找到问题---> 解决bug

快速定位问题:

断点 + finish + until + continue : 对大的代码块进行区间debug

指令功能
continue / c从一个断点,直接运行到下一个断点
finish把现在所处函数的代码跑完(以函数级别进行运行)
info locals显示临时变量的信息
set var 变量=值

修改变量的值  (set var i = 10)

可以让我们在发现问题时,当场改变值来验证答案(预修订),再出去修正代码。

b 行号/文件名 if i==30

condition 2 i==30

打条件断点

1、新增

2、给已有断点追加

 ✨watch 监视

即专门针对某个变量的断点。

打条件断点

1、新增断点

2、给已有断点追加:

二、小程序----进度条

🌠知识储备:

<1> 回车和换行

回车(\r):本质是让光标回归到当前行的最开始。

换行(\n):直接从当前行跳转到下一行,光标在上一行对下来的位置

在平时我们都会以为这两个使用是一样的,其实不然,新起一行的本质:先回车,再换行

<2> 缓冲区

虽然程序是在两秒之后才打印出来“hello Linux!!!”,但是文件是先执行printf,再执行sleep,原因是什么呢?

在程序执行sleep 2秒期间,“hello Linux!!!”字符串在哪里?

它会保存在,由C语言提供的输出缓冲区中。

<3> 有趣的小程序

当 \n 换成 \r 会有什么效果?

如何输出内容?

强制缓冲区的内容输出

当我们倒计时从 10 开始时,就会出现一点问题,这是为什么呢?

我们思考一下,我们给显示器输出的是一个整数1234,还是打印了一个1 2 3 4 字符,让我们以为打印的是一个整数,我们需要知道的是,显示器是没有类型的概念的!!!显示器只认识一个一个的字符,类型只有语言上有,其实 “ printf("%d\n",a) ” 就是把整数1234,(格式化输出)转化为“1” “2” “3” “4” 依次显示出来。

所以为什么上面程序为什么会多出一个 “0” ,也就能理解了,以为从 10 开始我们输出的是 “1” “0” ,紧接着要输出 “9” 时,光标回车到了最开始,只覆盖住了 “1” ,“0” 一直都在,所以我们需要修改输出的格式 printf("%-2d\n",countt) ;

正片开始!! 进度条~

先创建所需的文件:(模拟实现进度条的效果)

   //process.c#include "process.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <string.h>#define NUM 101
#define STYLE '='// version 1
void Process(){const char *lable = "|/-\\";int len = strlen(lable);char bar[NUM];memset(bar,'\0',sizeof(bar));int cnt=0;while(cnt <= 100){    printf("[%-100s][%d%%][%c]\r",bar,cnt,lable[cnt%len]);fflush(stdout);                             bar[cnt] = STYLE;cnt++;                                if(cnt == NUM)               {                 bar[cnt-1] = '\0';          break;}bar[cnt] = '>';//sleep(1);usleep(50000);}printf("\r\n");}

 效果图:

加强进度条模拟下载(回调):

如若对你有帮助,记得关注、收藏、点赞哦!您的支持使我最大的动力🌹🌹🌹🌹!!!

若有误,望各位,在评论区留言或者私信我 指点迷津!!!谢谢^ ^ ~

http://www.hkea.cn/news/771603/

相关文章:

  • 南宁网站建设接单陕西省人民政府
  • wordpress网站价格seo域名综合查询
  • 支付网站怎么做的网络自动推广软件
  • js做网站统计品牌关键词优化
  • 微信公众号管理平台官网谷歌seo建站
  • 鲜花购物网站源码企业网站营销的优缺点
  • 表白网站制作在线日照网站优化公司
  • 企业网站建设策划书 前言徐州关键词优化排名
  • 一级a做爰片视频网站全国新闻媒体发稿平台
  • 唐山网站建设哪家专业高德北斗导航
  • wordpress 地址 .html企业网站seo贵不贵
  • 提供网站制作公司哪家好网络软文范文
  • 做原型网站枣庄网络推广seo
  • 品牌网站开发设计外贸网站平台
  • 网站做留言板网站推广在线
  • 长春服务好的网络营销seo网站推广的主要目的
  • 搜索引擎优化和关键词竞价广告的区别宿州百度seo排名软件
  • 一搜同志网站建设电话青岛网站seo优化
  • 官方做任务网站网络营销公司注册找哪家
  • django做视频网站网络营销推广专家
  • 国外手做网站搜索引擎推广的关键词
  • 网站建设商标注册多少类目域名注册免费
  • 哪里有网站设计公司长沙网络公司最新消息
  • 试描述一下网站建设的基本流程百度怎么发布短视频
  • 我现在有域名怎么做网站搜索关键词热度
  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点