文章目录
一、前提
- 以下环境均采用树莓派环境下编程
- 想要在Linux上进行编辑,必须学会Linux基本编辑命令和其他基本命令
- 有编程基础
二、安装编译器,并开始第一个程序
1、安装编译器gcc & g++
2、编写第一个程序


编辑完成后开始进行编译

编译程序,c语言使用
gcc 文件名,c++使用g++ 文件名 编译完成后会在当前路径下生成名为a.out可执行文件,执行程序,使用./a.out 假如我们不想系统自动生成a.out可执行文件,可以使用-o选项,例如:
g++ main.cpp -o HelloWorld
三、C与C++混合编程
首先我们在第二小节的基础上再次添加一个C文件程序,分别是a.h和a.c
1、编辑a.h

2、编辑a.c

3、在main.cpp中调用testC()函数

4、再次使用g++编译程序

按之前的操作进行编译,可以看到报错了,提示testC没有定义,这是因为我们使用了a.c中的函数,但是并没哟对a.c进行编译,那么我们只需使用g++将a.c编译一次就可以了

四、编译
众所周知,程序的执行顺序是:编译->链接->运行
如果我们直接采用g++ 加文件名是会同时完成编译和链接的,我们也可以使用g++的参数来分步完成编译和链接。
1、g++ -c(compile)编译,生成.o文件
2、g++ *.o对编译后的文件进行链接,生成可执行程序
3、通过ldd 可执行程序可以看到该可执行程序所链接的库
4、最后通过./程序名运行程序

五、编写makefile
从前面可知通过命令
g++ -c *即可编译程序
g++ *.o即可链接文件,生成可执行程序
那么当我们的程序非常庞大的时候,.cpp、.c文件必然是很多的,如果我们还是通过一个一个g++去敲文件名的形式去编译和链接,这是非常麻烦的,那么这时候就需要引入makefile,通过该脚本,我们便可以轻松地管理我们的程序文件。
我们接着上面的程序,编写一个makefile


-
makefile为脚本的名字 -
start可以随便命名,这里写为start表示是程序的开始部分 -
start后面接的:,表示start为可以执行的部分,可通过命令make start执行 - g++命令前面的空白部分,注意不是空格,必须是键盘左上角部分的tab键
- 最后编译
makefile脚本,使用make命令
因为start:为该makefile脚本的第一个可执行部分脚本代码,所以直接通过make也可执行start:所示部分。可以看到通过makefile脚本编译连接后的*.o文件是没有作用的了,那么我们是否有办法将其删除呢?当然是可以的,只需修改makefile文件就可以,如下:

可以看到makefile中是完全兼容Linux命令的,所以只要添加一个clean:部分,即可通过make clean执行,如下:

















