Linux编程(C语言)

使用Linux的vim编辑器做一个简单的进度条

c 复制代码
#include<stdio.h>
#include<string.h>
#include<unistd.h>

#define M 101
#define ST '#'

int main()
{
  char arr[M];
  memset(arr,0,sizeof(arr));
  const char* ptr = "/|\\-";
  int len = strlen(ptr);
  int cut=0;
  while(cut<=100)
  {
    printf("[%-100s]%d%[%c]\r",arr,cut,ptr[cut%len]);
    fflush(stdout);
    arr[cut]=ST;
    sleep(1);
    cut++;
  }
  printf("\n");
  return 0;
}

代码很简单先给大家放在这里主要说一下Linux下怎么写c语言

在我们平常用的vs2022 或者是devc++ 都属于是集成开发环境

集预处理,编译,汇编,链接于一体直接生成可执行程序。但是在Linux下我们需要用gcc 来编译代码,gcc为我们提供了很多选项:

gcc编译选项

格式: gcc 选项 要编译的⽂件 选项 ⽬标⽂件

预处理(进行宏替换)

• 预处理功能主要包括宏定义,⽂件包含,条件编译,去注释等。

• 预处理指令是以#号开头的代码⾏。

• 实例: gcc --E hello.c --o hello.i

• 选项"-E",该选项的作⽤是让gcc在预处理结束后停⽌编译过程。

• 选项"-o"是指⽬标⽂件,".i"⽂件为已经过预处理的C原始程序。

编译(⽣成汇编)

• 在这个阶段中,gcc⾸先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的⼯作,在检查⽆误后,gcc把代码翻译成汇编语⾔。

• ⽤⼾可以使⽤"-S"选项来进⾏查看,该选项只进⾏编译⽽不进⾏汇编,⽣成汇编代码。

• 实例:gcc --S hello.i --o hello.s

汇编(⽣成机器可识别代码)

• 汇编阶段是把编译阶段⽣成的".s"⽂件转成⽬标⽂件

• 读者在此可使⽤选项"-c"就可看到汇编代码已转化为".o"的⼆进制⽬标代码了

• 实例: gcc --c hello.s --o hello.o

Makefile也是在Linux下写代码很方便的一个工具有需要的大家可以去了解一下。

这就是写好之后的样子,当然这个进度条没有实际意义,要用的话需要改良一下后面可以获取网络资源然后做一些算法就可以有实际用处啦。

相关推荐
鹏大师运维2 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
007张三丰2 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
weixin_604236673 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春4 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
yz_aiks4 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
AI智图坊4 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
Hello:CodeWorld5 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
bjzhang756 小时前
CentOS下安装MySQL详解
linux·mysql·centos
十月的皮皮7 小时前
C语言学习笔记20260606- 求月份天数三种写法
c语言·笔记·学习
Jason_chen7 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux