-
-c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件。
-
-g选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息。
-
@ − − 目标文件, @--目标文件, @−−目标文件,^–所有的依赖文件,$<–第一个依赖文件.详细请查看别个大神的博客:http://blog.csdn.net/kesaihao862/article/details/7332528
- makefile:在makefile中写入如下语句:
main:
gcc -o hello hello.c
clean:
rm -f hello hello.o
在上面的代码块中,第一行的那个是默认的,比如你执行命令时输入make,则会默认执行main下面的语句. 在定义好依赖关系后,后续的那一行定义了如何生成目标文件的操作系统命令,一定要以一个Tab键作为开头。当我们输入命令 make main时,会执行编译并链接hello.c文件.当输入make clean时,会执行命令把hello 和 hello.c文件删除.是不是特别方便.
3. Linux压缩命令:
gzip -cr test > 1.zip 将test文件夹压缩到1.zip中
gunzip -r 1.zip > 3.txt 将1.zip解压到3.txt中
tar -czvf my.tar.gz test 将test文件夹压缩到my.tar.gz中
tar –zxvf my.tar.gz 将my.tar.gz解压
-c :建立一个压缩文件的参数指令(create 的意思)
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :强制转换
4. 下面再插入一段makefile,继续分析
变量的声明(有点像C语言里面的宏定义)
objects = main.o print.o
helloworld:main.o print.o
helloworld:$(objects)
helloworld就是我们要生成的目标
main.o print.o是生成此目标的先决条件
gcc -o helloworld $(objects)
shell命令,最前面的一定是tab键
$(objects) : print.h # 都依赖print.h
main.o:main.c print.h
gcc -c main.c
print.o:print.c print.h
gcc -c print.c
clean:
rm helloworld $(objects)
上面其实是3个文件,如下
- print.h
#include
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
*如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618164986)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!