Ubuntu系统—终端下用g++进行c++项目

                                                                                Ubuntu系统---终端下用g++进行c++项目

目录

一、编译工具(g++/gcc)和编辑工具(vim/gedit)
二、C语言 的编译与运行
三、C++语言 的编译与运行
四、gcc/g++的详细过程

“一、二、三”是在当前文件夹下,编译一个文件为一个可执行文件的例子。对于编译多个文件为一个可执行文件,以及如何创建一个工程和编译一个工程(一个大点的工程不止一个.cpp,还有.h,...),后续在学、在作笔记。

 

正文

一、编译工具(g++/gcc)和编辑工具(vim/gedit)
在ubuntu环境下对C/C++进行编译首先保证ubuntu系统中包含编译工具(g++/gcc)和编辑工具(vim),C语言和C++对应的编译器:gcc -> C , g++ -> C++ 。
如果环境中不存在可以在终端中输入以下命令进行安装:

sudo apt-get install build-essential
sudo apt install vim
sudo apt-get install gcc
sudo apt-get install g++

二、C语言 的编译与运行
步骤:(1)写.c文件; (2)编译.c文件; (3)运行可执行文件
(1)写.c文件
    1).c文件hello.c代码如下:

    #include<stdio.h>
    int main()
    {
            printf("Hello world !n");
            return 0;
    }

(2)编译.c文件
在当前路径下编译.c文件:
  gcc -o hello hello.c
编译完成后可以看到在和hello.c相同目录下有一个hello的可执行文件。

(3)运行可执行文件
在当前路径下运行编译后的可执行文件:
  ./hello
(注意一定要加上路径才能运行,点表示当前路径。直接hello不添加路径,不能运行)
Ubuntu系统---终端下用g++进行c++项目

 
三、C++语言 的编译与运行
步骤:(1)写.cpp文件; (2)编译.cpp文件; (3)运行可执行文件
(1)写.cpp文件

    # .cpp文件hello.cpp代码如下:

#include<iostream> using namespace std; int main() { cout << "Hello world !" << endl; return 0; }

(2)编译.cpp文件
在当前路径下编译.cpp文件:
  g++ -o hello hello.cpp
编译完成后可以看到在和hello.cpp相同目录下有一个hello的可执行文件。

(3)运行可执行文件
在当前路径下运行编译后的可执行文件:
  ./hello
(注意一定要加上路径才能运行,点表示当前路径。直接hello不添加路径,不能运行)
Ubuntu系统---终端下用g++进行c++项目

四、gcc/g++的详细过程
  可以手动进行这四个步骤。
第一步:预处理。#号开头的代码全被解决掉(预编译,包含库,宏定义等等),产生一个后缀.i的文件以便下一步使用。
                gcc -E hello.c    (不会产生.i文件,文件内内容打印在了终端,所以需要将这些信息重定向到.i文件)
                gcc -E hello.c >> hello.i

第二步:编译。这一步主要检查语法错误。产生一个后缀.s的文件(汇编文件)
                gcc -S hello.i     (大写字母S)

第三步:汇编。产生后缀.o的object目标文件,二进制,但不可以运行,因为缺少库信息
                gcc -c hello.s

第四步:链接。添加库信息,产生一个后缀.o的可执行文件
                gcc hello.o -o hello

原文链接: https://www.cnblogs.com/carle-09/p/11269438.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Ubuntu系统---终端下用g++进行c++项目

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/299980

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午9:03
下一篇 2023年2月15日 下午9:04

相关推荐