Linux基本编译运行操作
1.在Linux操作系统上进行编程
在Linux系统,我们使用bash对Linux输入shell操作指令,常用的操作指令有:
常用操作指令 | 指令作用 |
---|---|
mkdir 新建目录 | 在当前目录下创建新目录 |
whoami | 查看谁在使用计算机 |
hostname | 查看登录的服务器名称 |
lscpu | 查看机器cpu信息 |
lspci | 查看机器硬件配置信息 |
pwd | 查看当前目录 |
touch 文件名 | 创建空文件 |
rm [-rf] 文件名或目录名 | 删除目录或文件 |
cd 目录 | 目录切换 |
ls | 查看当前目录文件 |
ls -l | 查看当前目录文件以及文件权限(r代表读权限,w代表写权限,x代表执行权限) |
ls -la | 查看当前目录文件以及隐藏项 |
find 目录名 -name[文件名] | 查找目录下的某一文件文件 |
grep 字符串 -r[目录] | 查看某个目录下的所有文件是否包含某个字符串 |
top | 查看任务和进程 |
2.在Linux操作系统下进行程序开发
程序开发一般包含明确任务需求或目标、算法设计、编码(编写源文件)、编译(由编译器完成)以及调试这五个步骤。
在Linux环境下,建议使用Linux生态的编辑器vim进行程序开发。
使用这个指令可以打开当前目录下的文件,如果该文件不存在,那么则会创建一个新的文件来打开。
vim filename
编程从“Hello World”开始!
#include <stdio.h>
int main(){
printf("Hello World!\n");
return 0;
}
使用gcc编译器对源代码进行编译
gcc -c main.c -o HelloWorld
执行编译后的目标文件
./HelloWorld
输出
Hello World!
在Linux系统中,还可以使用gmake工具来帮助程序员完成编译工作
创建Makefile文件
#This is an makefile example#
BIN=HelloWorld
SRC=mian.c
ALL:$(SRC) Makefile
gcc -c $(SRC) -o $(BIN)
.PHONY:clean
clean:
rm -rf $(BIN)
执行Makefile文件
make [-f] makefile文件名 //make指令默认执行Makefile文件
3.在Linux环境动态分析程序性能
程序性能分析分为静态分析和动态分析两种情况,本文就动态分析进行简单介绍。
gprof工具分析程序性能
添加选项 -pg编译程序
gcc -pg main.c -o HelloWorld
编译完成后,执行程序。程序执行完成后,会在程序所在目录生成一个gmon.out文件,此时可以根据该文件生成一份测试报告
gprof HelloWorld gmon.out>output.txt
利用vim工具查看output.txt文本信息,获取程序运行详细信息
还可以利用gprof2dot工具生成程序调用关系图
gprof2dot.py output.txt | dot -Tpng -o output.png