Linux第三课 Makefile GDB Shell
来源:互联网 发布:unity3d工程师薪资 编辑:程序博客网 时间:2024/06/18 06:04
Makefile: 工程管理器 优化编译效率 核心:一系列规则
Makefile是特殊的shell
一个Makefile包含五个方面的内容:
1具体规则
2隐含规则:make能按照文件名的后缀,决定所采用的规则
3定义变量
4指令
5注释
先打开Makefile : vim Makefile
内部指令
target: dependency
(Tab字符)command
目标:依赖(可多个)
Tab 命令
例如:
hello : hello.o add.o
gcc –o hello hello.o add.o (多文件系统)
上下相同
obj = hello.o add.o
CC = gcc
hello :
总结:
1、 依赖为 .o 文件
2、 伪目标:
. PHONY : clean
clean: 无需依赖
rm –f *.o
. PHONY : add add: hello.o add.o gcc –o add hello.o add.o
3、 隐含规则
gcc –o hello hello.o add.o 会自动生成.o 文件
4、注释为 # , 变量 用 ${ obj} 代替
GDB 调试工具
gcc -g –o hello hello.c add.c
命令 : gdb hello
Shell
环境变量 常用工具的安装路径
PATH——决定了shell将到哪些目录中寻找命令或程序
HOME——当前用户主目录
HISTSIZE——历史记录数
LOGNAME——当前用户的登录名
HOSTNAME——指主机的名称
SHELL——当前用户Shell类型
使用示例:
echo PATH # 查看PATH环境变量
export PATH=“/usr/local/bin”:PATH # 设置PATH环境变量
echo $SHELL 查自己的shell类型
通配符
? 用于匹配一个字符
* 用于匹配任意长度的字符串。
使用举例:
echo * 显示当前目录下所有文件的名称
rm test? 删除当前目录下所有名称为test加一个字符的文件
Shell 脚本 解释语言(高级) 需解释器 如 bash
相对的 C语言 为 编译语言
1、可以事先写在一个文件中,使用时Shell读取文件中的命令逐条解释,这种文件被称为脚本.
2、 #!/bin/sh
Shell将符号#后面的部分认为是注释,但这一行是有实际作用的。感叹号!后面的部分指明了要使用sh作为执行脚本的解释器。
脚本中的每一行是一条命令,多条命令也可以写在同一行,用分号;隔开
例如:
!/bin/bash
ls –l
echo
打印花括号 { }
在终端上改变属性: chmod +x shell.sh
直接执行 shell.sh: ./shell.sh
未改变属性: /bin/bash shell
/bin/sh
改变IP ifconfig eth0 192.168.1.1
- Linux第三课 Makefile GDB Shell
- linux GCC、GDB、Makefile
- linux GCC、GDB、Makefile
- linux下gcc、gdb、makefile
- linux-基础-gcc/gdb/makefile
- Linux学习之GCC&GDB,Makefile
- Linux程序设计基础(gcc、makefile、gdb)
- Linux笔记--4 -- GDB和makefile
- Linux 开发工具 ---gcc makefile gdb
- GDB调试,makefile使用,linux相关
- Linux环境搭建(vim,makefile,gdb...)
- Linux之Makefile(shell)
- gcc,make,Makefile,gdb,shell的初步学习
- Makefile+GDB
- makefile&gdb
- Linux C编程第三回 - GDB
- Linux之shell编程和gdb调试
- Linux Makefile与shell脚本区别
- Linux 第二课
- Veeam Bakcup Hyper-v
- 腾讯笔试模拟题(int foo[]={1,2,3,4,5,6};cout << (1+3)[foo]-foo[0]+(foo+1)[2])
- 数据库存储大数据量(千万条记录级别)数据的考虑要点
- printf 函数支持
- Linux第三课 Makefile GDB Shell
- centos7.3下安装maven3.5.0
- QT之Hello World
- 一个用户scott中的表导到另一个用户lnsf中的表
- 51nod 1004 n^n问题
- 细说分布式Session管理
- mysql压缩版的安装
- Mac安装android studio后卡在building gradle project info的解决方法
- Web功能测试