每个在linux环境下编程过的人一定都用过vim,那你知道vim是什么的增强版吗?
1.其他的编辑器:
linux下,vim是最常用也是最强大的文本编辑器。
除此之外,还有比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano,ed,ex。
vi和vim是我们在Linux中最常用的编辑器。
参考:https://blog.csdn.net/qq_15282027/article/details/50865920
2.其他的编译器:
每个程序员不出意外都是从c语言开始,那么一定也都知道gcc编译器。
那么除了gcc编译器以外,还有什么厉害的编译器?
还有g++、ICC、Clang、MSVC、BCC等C/C++编译器。
其中常用的为g++,Clang,MSVC,ICC。他们各有各的特点。
参考:https://www.zhihu.com/question/23789676
3.功能强大而又麻烦得调试器gdb:
我们在编译一段代码的时候,可以给其加上 -g 的选项。
目的是可以用gdb来调试生成的可执行程序。
r-运行程序。
l - 显示行号或者函数,一次十行
n - 单条执行
s - 进入函数调用
b+行号 - 设置断点
into break - 查看断点信息
finish - 执行到当前函数返回,然后等待命令。
whatis - 看类型....
4.自拟一个进度条程序,并且设置自撰一个Makefile。
首先我们需要知道:
1.颜色的品牌:
33 [00; 1; 33m xxxx
分别对应: 开始 亮度 背景色 字体色 字符串
其中,亮度色中01为高亮,00为低亮度。
背景色中:40:黑,41:红:42:绿,43:黄,44:青,45:蓝,47:白。
字体色中:30:黑,31:红,32:绿,33:黄,34:蓝,35:紫,36:青,37:白。
参考:https://blog.csdn.net/c2682736/article/details/34438763
2.代码的输出中:
因为在一次循环输出中没有 ‘ ’ ,所以需要用 fflush() 函数来刷新缓冲区。
ps:其中 stdout 为标准输出文件。
并且每次输出结束都要用 ‘ ’ 来回到本行开头。
代码:
1 #include<iostream> 2 #include<time.h> 3 #include<stdlib.h> 4 #include<unistd.h> 5 #include<stdio.h> 6 7 #define RESET " 33[0m" 8 #define BLACK " 33[30m" 9 #define RED " 33[31m" 10 #define GREEN " 33[32m" 11 #define YELLOW " 33[33m" 12 #define BLUE " 33[34m" 13 #define MAGENTA " 33[35m" 14 #define CYAN " 33[36m" 15 #define WHITE " 33[37m" 16 17 using namespace std; 18 19 int main() 20 { 21 char buf[101]={}; 22 23 int i=0; 24 char ptr[5]="/|\-"; 25 26 srand((int)time(0)); 27 28 for(i = 0; i<100;i++) 29 { 30 buf[i]='#'; 31 32 //调整颜色。 33 switch(i%4) 34 { 35 case 0: 36 cout<<RED; 37 break; 38 case 1: 39 cout<<YELLOW; 40 break; 41 case 2: 42 cout<<MAGENTA; 43 break; 44 case 3: 45 cout<<BLUE; 46 break; 47 defalut: 48 break; 49 } 50 // 用于从头输入。 51 printf("[%-100s][%d%%][%c] ",buf,i+1,ptr[i%4]); 52 53 fflush(stdout); 54 usleep(300000); 55 } 56 cout<<WHITE<<endl; 57 return 0; 58 }
Makefile:
1 processbar:processbar.cpp 2 g++ -o $@ $^ 3 4 .PHONY:clean 5 6 clean: 7 rm -f prrcessbar
最后实现结果: