天天看点

Linux--C/C++编程入门

文章目录

  • ​​一、前提​​
  • ​​二、安装编译器,并开始第一个程序​​
  • ​​三、C与C++混合编程​​
  • ​​四、编译​​
  • ​​五、编写makefile​​

一、前提

  • 以下环境均采用树莓派环境下编程
  • 想要在Linux上进行编辑,必须学会Linux基本编辑命令和其他基本命令
  • 有编程基础

二、安装编译器,并开始第一个程序

1、安装编译器​

​gcc & g++​

sudo apt-get install      

2、编写第一个程序

Linux--C/C++编程入门
Linux--C/C++编程入门

编辑完成后开始进行编译

Linux--C/C++编程入门
编译程序,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

Linux--C/C++编程入门

2、编辑a.c

Linux--C/C++编程入门

3、在main.cpp中调用​

​testC()​

​函数

Linux--C/C++编程入门

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

Linux--C/C++编程入门

按之前的操作进行编译,可以看到报错了,提示testC没有定义,这是因为我们使用了​

​a.c​

​​中的函数,但是并没哟对​

​a.c​

​​进行编译,那么我们只需使用g++将​

​a.c​

​编译一次就可以了

Linux--C/C++编程入门

四、编译

众所周知,程序的执行顺序是:编译->链接->运行

如果我们直接采用​

​g++ 加文件名​

​是会同时完成编译和链接的,我们也可以使用g++的参数来分步完成编译和链接。

1、g++ ​

​-c​

​​(compile)编译,生成​

​.o​

​文件

2、g++ *.o对编译后的文件进行链接,生成可执行程序

3、通过​

​ldd 可执行程序​

​可以看到该可执行程序所链接的库

4、最后通过​

​./程序名​

​运行程序

Linux--C/C++编程入门

五、编写makefile

从前面可知通过命令

g++ -c *即可编译程序

g++ *.o即可链接文件,生成可执行程序

那么当我们的程序非常庞大的时候,​​

​.cpp、.c​

​​文件必然是很多的,如果我们还是通过一个一个g++去敲文件名的形式去编译和链接,这是非常麻烦的,那么这时候就需要引入​

​makefile​

​,通过该脚本,我们便可以轻松地管理我们的程序文件。

我们接着上面的程序,编写一个makefile

Linux--C/C++编程入门
Linux--C/C++编程入门
  • ​makefile​

    ​为脚本的名字
  • ​start​

    ​​可以随便命名,这里写为​

    ​start​

    ​表示是程序的开始部分
  • ​start​

    ​​后面接的​

    ​:​

    ​​,表示​

    ​start​

    ​​为可以执行的部分,可通过命令​

    ​make start​

    ​执行
  • g++命令前面的空白部分,注意不是空格,必须是键盘左上角部分的tab键
  • 最后编译​

    ​makefile​

    ​​脚本,使用​

    ​make​

    ​命令

因为​

​start:​

​​为该makefile脚本的第一个可执行部分脚本代码,所以直接通过​

​make​

​​也可执行​

​start:​

​​所示部分。可以看到通过makefile脚本编译连接后的​

​*.o​

​文件是没有作用的了,那么我们是否有办法将其删除呢?当然是可以的,只需修改makefile文件就可以,如下:

Linux--C/C++编程入门