当前位置:网站首页 > Go语言开发 > 正文

linux 微信小程序开发工具(linux小程序编写)



本专栏内容为:Linux学习专栏,分为系统和网络两部分。 通过本专栏的深入学习,你可以了解并掌握Linux。

💓博主csdn个人主页:小小unicorn
⏩专栏分类:linux
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识


首先,我们来感受一下行缓冲区的存在,在Linux当中以下代码的运行结果是什么样的?
在这里插入图片描述
对于此代码,大家应该都没问题,当然是先输出字符串hello world然后休眠3秒之后结束运行。那么对于以下代码呢?
在这里插入图片描述
可以看到代码中仅仅删除了字符串后面的’ ’,那么代码的运行结果还与之前相同吗?答案否定的,该代码的运行结果是:先休眠3秒,然后打印字符串hello linux之后结束运行。该现象就证明了行缓冲区的存在。



显示器对应的是行刷新,即当缓冲区当中遇到’ ’或是缓冲区被写满才会被打印出来,而在第二份代码当中并没有’ ’,所以字符串hello linux先被写到缓冲区当中去了,然后休眠3秒后,直到程序运行结束时才将hello linux打印到显示器当中。

: 回车,使光标回到本行行首。
: 换行,使光标下移一格。

而我们键盘上的Enter键实际上就等价于 + 。
在这里插入图片描述
既然是 是使光标回到本行行首,那么如果我们向显示器上写了一个数之后再让光标回到本行行首,然后再写一个数,不就相当于将前面一个数字覆盖了吗?

但这里有一个问题:不使用’ ’进行换行怎么将缓冲区当中数据打印出来?
这里我们可以使用fflush函数,该函数可以刷新缓冲区,即将缓冲区当中的数据刷新当显示器当中。
对此我们可以编写一个倒计时的程序。


在这里插入图片描述
在输出下一个数之前都让光标先回到本行行首,就得到了倒计时的效果。
在这里插入图片描述


知道了 这个概念我们就可以实现一个简单的进度条了。

首先在目录下创建一下文件:
在这里插入图片描述

Makefile:

在这里插入图片描述

 
  

process.h

 
  

process.c

在这里插入图片描述

 
  

main.c

在这里插入图片描述

 
  

运行结果:
在这里插入图片描述

Makefile:

在这里插入图片描述

 
  

process.h

 
  

process.c

在这里插入图片描述

 
  

main.c

在这里插入图片描述

 
  

运行结果:
在这里插入图片描述

当然,上面的进度条是’#'的方式体现的,我们还可以将它改为箭头:

makefile

 
  

ProcessBar.c

 
  

ProcessBar.h

 
  

main.c

 
  

展示一下运行结果:
在这里插入图片描述
很明显这个版本的进度条比之前的好看多了。

我们为了更好的理解我们的进度条是如何被调用的,我们可以进行更改进度条版本4:
在这里插入图片描述
在之前的进度条版本里,我们的进度条可以说是通过循环来进行控制。

其实我们可以把这个循环抽离出来,抽离出来就是,给他一个比率,他打印多少。
在这里插入图片描述
接下来我们可以模拟一下实际的一个应用场景:
在这里插入图片描述
假设我们要下一个1000MB的东西,平常下载肯定是一点一点的下载,我们将当前值先从0开始,每次下载10MB,注意传参,我们传的是比率。



完整代码:

ProcessBar.h

 
  

ProcessBar.c

 
  

main.c

 
  

我们看一下运行效果:
在这里插入图片描述
但是其实会发现,这个版本跟我们的版本一本质其实是一样的。来我们将我们的版本4在进行加工,写一份巨diao的一个进度条!!

我们将主函数里面的抽离成一个函数DownLoad。

我们让这个函数模拟我们的安装或者是下载。

 
  

接下来我们定义一个函数指针类型;

 
  

然后修改我们的DownLoad函数:

 
  
 
  

我们运行一下结果:
在这里插入图片描述
不仅如此,我们还可以实现多任务下载的一个情况:
我们在主函数写这样的语句


 
  

接下来我们运行一下:
在这里插入图片描述
我们会看到,当第二个任务的时候跟第一个不一样,欸?为什么呢?这是因为,我们刚在定义bar数组的时候,他是全局的,我们并没有刷新它的状态,所以可以理解为我们的数组是满的!!

我们有两种,一种是在我们的ProceBar函数中写一个mesert函数即可,另一种我们把他封装成函数,在主函数李直接掉用即可!

 
  

我们在来看一下结果:
在这里插入图片描述
这样就不会出现上面的情况了,好了,介绍到这,我们的进度条5个版本就都介绍完了。

下面是完整代码的展示:

ProcessBar.h

 
  

ProcessBar.c

 
  

main.c

 
  

上述我们用到了函数回调,那么什么是函数回调呢?

回调函数是。当这个函数执行到某个特定点时,它会调用传入的回调函数。这种机制在许多编程语言中广泛应用,尤其是在操作、和时。

  1. 灵活性:通过传递不同的回调函数,可以在同一个操作中实现不同的行为。
  2. 异步编程:常用于异步操作中,比如在网络请求完成后执行特定的代码。
  3. 代码解耦:可以将业务逻辑与具体实现分离,提高代码的可读性和可维护性。

1. 函数指针:回调函数通常通过函数指针来传递。函数指针允许我们引用一个函数并在需要时调用它。
2. 调用时机:当一个函数执行到特定的时刻(比如完成某项工作、接收到事件等),它会调用传入的回调函数。

1. 事件驱动编程:在图形用户界面(GUI)应用程序中,用户的点击、输入等操作会触发事件,程序可以通过回调函数来响应这些事件。
2. 异步操作:例如,在进行网络请求时,程序可以继续执行其他任务,而在请求完成时,通过回调函数来处理响应结果。
3. 排序算法:在许多编程语言中,排序函数允许用户传入自定义的比较函数作为回调,以决定元素的排序方式。

在C语言中,可以通过函数指针来实现回调函数。以下是一个简单的示例:

 
  

在这个例子中, 是一个回调函数,它被传递给 ,后者在适当的时候调用它。这样就实现了函数之间的灵活交互。
运行结果:
在这里插入图片描述

到此这篇linux 微信小程序开发工具(linux小程序编写)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 嵌入式驱动开发 教材(嵌入式驱动开发 教材有哪些)2025-07-06 18:27:05
  • c语言编写时钟程序(c语言编写电子时钟)2025-07-06 18:27:05
  • 若依 文件上传(若依 文件上传 mangodb)2025-07-06 18:27:05
  • linux驱动开发需要哪些知识(linux驱动开发需要哪些知识技能)2025-07-06 18:27:05
  • 苹果开发者账号注册流程付款怎么弄(苹果开发者账号注册流程付款怎么弄的)2025-07-06 18:27:05
  • 预训练语言模型pdf下载百度网盘(预训练语言模型 pdf)2025-07-06 18:27:05
  • 现在学编程学什么语言(学编程学哪种语言)2025-07-06 18:27:05
  • git怎么用?(git怎么用于项目开发)2025-07-06 18:27:05
  • 苹果开发者账号付款方式(苹果开发者账号付款方式不能网页支付)2025-07-06 18:27:05
  • 编程入门要学什么(编程入门要学什么语言)2025-07-06 18:27:05
  • 全屏图片