Linux c 学习笔记
其实早在大一我就学习了c语言,只是是在win系统中学习的。所以这次尝试在linux中编写程序,也比较容易上手。
基本命令
- 首先在linux下判断是否安装gcc编译器,直接执行:
gcc -v
,判断是否安装gcc。 - 执行:
vi 文件名.c
,编辑.c文件。 - 执行指令:
gcc 文件名.c
- 执行指令:
./a.out
vim基本命令
末端命令行输入
- 显示行号
set nu或者set number
- 取消行号
set nu
- 撤回上一个命令
u
- 粘贴
p
- 同路径下创建一个文件并同窗展示
sp 文件名
- 同窗两文件上下切换
CTRL+W+上下箭头
c语言应用
这里以编写一个比较数的大小的函数为例
我们需要编写一个max函数和min函数
#include<stdio.h>
#include"max.h"
#include"min.h"
//max函数
int max(int a,int b)
{
if(a>b){
return a;
}
else{
return b;
}
}
//min函数
int min(int a,int b)
{
if(a<b){
return a;
}
else{
return b;
}
}
//main文件
int main()
{
int a=20;
int b=10;
c=max(a,b);
d=min(a,b);
printf("max:%d ,min:%d",c,d);
return 0;
}
再执行
gcc 文件名.c
./a.out
即可看到输出max:20 min:10
makefile的编写与使用
make可以将大型的开发项目分为若干个易于管理的模块,make工具可以很清晰和快捷的管理各类输出文件,make内部也是使用gcc编译器
输出文件名:依赖项1 依赖项2 ... -o 输出名
依赖项1:源文件1 源文件2 ...
gcc 源文件1 源文件2
依赖性2:源文件3 源文件4 ...
gcc 源文件3 源文件4
...
我们在实际操作中,运行一个程序需要同时调用多个文件,会很复杂,通过使用make提前写好执行命令.以上面编写的为例
gcc -c max.c
gcc -c min.c
gcc max.o min.o -o name
vim Makefile
a.out:max.o min.o main.c
gcc max.o min.o main.c -o 输出名
max.o:max.c
gcc -c max.c -o max.o
min.o:min.c
gcc -c min.c -o min.o
输入make即可运行。
GDB工具的使用
使编译的文件可调试
gcc -g 源文件名
注意:源文件删除后可执行文件不可再进行图形界面调试
l
命令可显示程序源代码(只展示10行)
start
:从main开始执行
p
:print 显示某个变量的值
n
:执行下一行
s
:进入函数
bt
:查看栈
f+栈编号
:进入相应的栈