Linux环境基础开发工具使用

一.Linux第一个小程序-进度条

1.版本一:

 1: process.c ? ? 2: process,h ? ?? 3: main.c ? ?                                                                                                                              ?? buffers 
  1 #include"process.h"                                                                                                                            "
  2 #include<string.h>                                                                                                                              
  3 #include<unistd.h>                                                                                                                              
  4 #define SIZE 100                                                                                                                              
  5 #define MAX_RATE 100                                                                                                                              
  6 #define STYLE '#'                                                                                                                              
  7 #define STIME 1000*400                                                                                                                              
  8 const char *str="|-\\";                                                                                                                              
  9 void process()                                                                                                                              
 10 {                                                                                                                              
 11   printf("hello process\n");                                                                                                                              
 12   //version 1                                                                                                                              
 13   int rate =0;                                                                                                                              
 14   char bar[SIZE]={0};                                                                                                                              
 15   memset(bar,'\0',sizeof(bar));                                                                                                                              
 16   int num =strlen(str);                                                                                                                              
 17   while(rate<=MAX_RATE)                                                                                                                                                                
 18   {                                                                                                                              
 19     printf("[%-100s][%d%%][%c]\r",bar,rate,str[rate%num]);                                                                                              
 20     fflush(stdout);                                                                                                            
 21     usleep(STIME);                                                                                                                               
 22     bar[rate++]=STYLE;                                                                                                                          
 23   }                                                                                                                                                 
 24   printf("\n");                                                                                                                  
 25                                                                                                                                              
 26 }                                                                                                                             
~                                                                                              
~                                                                                                                              
~                                     

2.版本二三:

头文件:

  1 #pragma once                                                                                                                                      "
  2                                                                                                                                                    
  3 #include<stdio.h>                                                                                                                                  
  4 #include<string.h>                                                                                                              
  5 #include<unistd.h>                                                                                                                              
  6                                                                                                                                                     
  7 void process();                                                                                                                                  
  8 #define SIZE 101                                                                                                                                     
  9 #define MAX_RATE 100                                                                                                            
 10 #define STYLE '#'                                                                                                                                       
 11 #define STIME 1000*40                                                                                                           
 12                                                                                                                                                  
 13 #define STYLE_BODY '='                                                                                                           
 14 #define STYLE_HEADER '>'                                                                                                                        
 15                                                                                                                                                
 16 //typedef void (*callback_t)(int);                                                                                                               
 17 typedef void (*callback_t)(double);                                                                                              
 18                                                                                                                                 
 19 void process_v1();                                                                                                                                                                   
 20 void process_v2(int);                                                                                                                                                
 21 void process_v3(double);                                                                                                                                                               
~                              

process.c:

   #include "process.h"
    2 #include <string.h>
    3 #include <unistd.h>
    4 
    5 #define SIZE 101
    6 #define MAX_RATE 100
    7 #define STYLE '#'
    8 #define STIME 1000*40
    9 
   10 const char *str="|/-\\";
   11 
   12 void process_v1()
   13 {
   14     // version 1
   15     int rate=0;
   16     printf("\n");
   17 }
   18 
   19 // 不能一次将进度条打印完毕,否则无法平滑的和场景结合
   20 // 该函数,应该根据rate,自动的打一次
   21 void process_v2(int rate)
   22 {
   23     // version 2
   24     // TODO
   25     static char bar[SIZE]= {0}; 
   26     int num = strlen(str);
   27     if(rate <= MAX_RATE && rate >=0)
   28     {
   29         printf("[%-100s][%d%%][%c]\r", bar, rate, str[rate%num]);
   30         fflush(stdout);
   31         bar[rate] = STYLE;
   32     }
   33     if(rate == MAX_RATE) memset(bar, '\0', sizeof(bar));                                                                                                                             
   34 }
   35 
   36 void process_v3(double rate)
   37 {
   38     // version 2
  // version 2
   39     // TODO
   40     static char bar[SIZE]= {0};
   41     static int cnt = 0;
   42     int num = strlen(str);
   43     if(rate <= MAX_RATE && rate >=0)
   44     {
   45         cnt++;
   46         cnt = (cnt >= num ? 0 : cnt); //cnt %= num;
   47         printf("加载中... [\033[31;44m%-100s\033[0m][%.1f%%][%c]\r", bar, rate, str[cnt]);
   48         fflush(stdout);
   49         if(rate < MAX_RATE)
   50         {
   51             bar[(int)rate] = STYLE_BODY; //'='
   52             bar[(int)rate+1] = STYLE_HEADER; //'>'
   53         }
   54         else
   55         {
   56             bar[(int)rate] = STYLE_BODY;
   57         }
   58     }
   59     //if(rate == MAX_RATE) memset(bar, '\0', sizeof(bar));
   60 }

mian.c

  1 #include"process.h"
  2 #define TARGET_SIZE 1024*1024 // 1MB
  3 #define DSIZE 1024*10
 20 void download(callback_t cb)
 21 {
 22     int testcnt = 100;
 23     int target = TARGET_SIZE;
 24     int total = 0;
 25 
 26     while(total <= target)
 27     {
 28         usleep(STIME); // 用简单的休眠时间,模拟本轮下载花费的时间
 29         total += DSIZE;
 30         double rate = total*100.0/target;
 31         if(rate > 50.0 && testcnt) {                                                                                                                                                   
 32             total = target/2;
 33             testcnt--;
 34         }
 35         cb(rate); // 回调函数
 36     }
 37     cb(MAX_RATE); // 回调函数
 38     printf("\n");
 39 }
 40 
 41 
 42 // 下载的软件
 43 int main()
 44 {
 45     process();
 46     download(process_v3);
 47     return 0;
 48 }
~

二.使用 git 命令行

1.安装 git

检查是否安装git

如若没有:

输入yum install git 进行安装

2.在 Github 创建项目

3.使用 Github 创建项目

4.注册账号

这个比较简单,参考着官网提示即可. 需要进行邮箱校验.

5.下载项目到本地

创建好一个放置代码的目录.

git clone [url]

这里的 url 就是刚刚建立好的 项目 的链接.

三板斧第一招: git add

将代码放到刚才下载好的目录中 

git add[文件名]

将需要用 git 管理的文件告知 git

三板斧第二招: git commit

提交改动到本地

git commit

最后的 "." 表示当前目录 提交的时候应该注明提交日志, 描述改动的详细内容.

三板斧第三招: git push

同步到远端服务器上

git push

需要填入用户名密码. 同步成功后, 刷新 Github 页面就能看到代码改动了.

配置免密码提交

git本地免密码和账号pull、push_没有git账号怎么拉代码-****博客

三、小结

上一篇:js之简单分页


下一篇:解析边缘计算网关的优势-天拓四方