Linux编程(三)—makefile快速编译

起因

linux环境下,编译c++程序很麻烦,后面g++ -o demo demo.cpp ……往往跟了许多许多东西,这些每次编译的时候都要书写,所以就产生了makefile快速编译方式,具体操作如下。

怎么用makefile?

第一步:下载

makefile是个插件,需要在Vscode里面下载,

第二步:练手

先只针对于主函数,没有调用其他库。

在根目录下创建一个文件叫my

在VScode里面可以查看

然后创建main.cpp文件和makefile文件,直接在VScode里面创建即可,makefile文件直接命令为makefile。

在main.cpp里面输入以下代码:
 

#include <iostream>

using namespace std;

int main(){

    cout <<"我是一只小小鸟\n"<<endl;

}

在makefile里面输入以下代码:

all:main

main:main.cpp

    g++ -o main main.cpp

clean:

    rm -f main

其中:

        第一行表示表示可执行文件,一般每一个.cpp文件(你自己创建的)都有一个可执行文件,第一行最前面固定用all,如果不止一个,用空格隔开。

        第二行表示第一行可执行文件的依赖文件,只要依赖文件发生变化,就会执行第三行命令。

比如main的依赖文件是main.cpp,如果main.cpp发生了变化,就执行  g++ -o main main.cpp

        第四行表示删除所以第一行的可执行文件。如果不止一个,就用空格隔开。

注意,第三行和第四行前面要用tab跳格键,不要直接用空格打几个空格。

第三步:编译

回到secure,输入make,即可执行

若文件没有发生变动,则make后无反应,显示不需要修改,如下图:

编译:

输入:./main

也可以删除可执行文件:输入make clean

小技巧

我们在用Linux编译的时候总是感觉到编译命令太麻烦了,比如

总是这么一大串,所以可以这里想讲一下如何利用makefile为我们减少麻烦。就是对地址进行变量替换。

进入makefile,可以看到编译命令很长很长

我们在头部创建一个变量,把地址赋给变量

地址用空格隔开,不要加分号结尾。

就是这样

把地址用变量代替,使用变量用$(变量名字)

注意,这里可以不用在意排序,不用对位。

还有一点

VScode的上一步快捷键是:ctrl+z

撤销上一步快捷键是:shift+ctrl+z

相关推荐

  1. Linux Makefile编写之可执行程序

    2024-07-14 23:22:02       105 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 23:22:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 23:22:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 23:22:02       57 阅读
  4. Python语言-面向对象

    2024-07-14 23:22:02       68 阅读

热门阅读

  1. GitHub每周最火火火项目(7.8-7.14)

    2024-07-14 23:22:02       20 阅读
  2. Mybatis一对一,一对多关联查询

    2024-07-14 23:22:02       24 阅读
  3. R语言简单介绍及零基础学习路径

    2024-07-14 23:22:02       18 阅读
  4. 在unity中的球形插值方法中第三个参数t是什么

    2024-07-14 23:22:02       17 阅读
  5. linux安装pure-ftpd-1.0.51

    2024-07-14 23:22:02       17 阅读
  6. Linux 编程中的 open() 与 fdopen() 区别与联系

    2024-07-14 23:22:02       19 阅读