欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux环境下的C++编译

程序员文章站 2024-02-29 12:36:22
...

Linux环境下的C++编译

1.编写简单输出的程序(通过g++方式编译)

  1. 在文件夹中使用Nano创建hello.cpp文件
nano hello.cpp

  1. 编辑hello.cpp文件,代码如下
#include<iostream>
using namespace std;
int main(){
    cout<<"hello world"<<endl;
    return 0;
}

  1. 使用g++命令进行编译

    1. 执行过程

    Linux环境下的C++编译

    #预处理->编译->汇编->链接
    1、预处理
    g++ -E hello.cpp -o hello.i
    
    2、编译,生成汇编代码
    g++ -S hello.i -o hello.s
    
    3、汇编,生成.o汇编文件
    g++ -c hello.s -o hello.o
    
    4、链接生成可执行文件
    g++ hello.o -o hello
    

    Linux环境下的C++编译

    或者直接使用如下命令可直接生成可执行文件

    g++ hello -o hello
    

2、简单的加法运算(通过Makefile方式)

  1. 通过Nano创建main1.cpp和sum.cpp文件

  • main1.cpp
//main1.cpp
#include<iostream>
using namespace std;
int getSum(int ,int );
int main(){
    int a,b;
    cout<<"请输入a和b:";
    cin>>a>>b;
    cout<<"a+b="<<getSum(a,b)<<endl;
    return 0;
}

  • sum.cpp
#include<iostream>
int getSum(int a,int b){
    return a+b;
}


  1. 通过nano创建makefile文件
  • 编写Makefile
sumTest : main1.cpp sum.cpp
        g++ -o sumTest main1.cpp sum.cpp

  1. 执行make命令

make命令会自动寻找目录下的makefile/Makefile文件

Linux环境下的C++编译

总结

Makefile:

target ... : prerequisites ...
	command
	...

target可以是一个object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。

prerequisites就是,要生成那个target所需要的文件或是目标。

command也就是make需要执行的命令。(任意的shell命令)


markdown:

  • 标题

在Markdown中,如果想将一段文字定义为标题,只需要在这段文字前面加上 #,再在 # 后加一个空格即可。还可增加二、三、四、五、六级标题,总共六级,只需要增加 # ,增加一个 # ,标题字号相应降低一级。

Linux环境下的C++编译

  • 列表

在 Markdown 中,你只需要在文字前面加上 - 就可以了;如果希望是有序列表,在文字前面加上 1. 2. 3. 即可。

Linux环境下的C++编译

  • 图片

在 Markdown 中,插入图片只需要使用

![显示文本](图片链接地址)

Linux环境下的C++编译

相关标签: c++ linux