如何在终端编译C++代码

C++语言从编写-->执行整个过程。一般来讲,开发一个C++程序需要经过以下几步
1. 编写代码,
2. 编译器进行编译,compile    生成.o的可执行的二进制目标文件
3. 连接器进行连接。  链接代码文件,生成可执行.exe文件
4. 执行。

 


 

电脑:Mac OS系统

1.打开电脑的终端

2.$ mkdir cc     #创建一个cc的目录

3.$ cd cc    # 进入这个目录下

4.$ vi hello.cpp     # 建立一个hello.cpp的文件,并进入编辑C++代码的环境

//   测试程序如下:

#include<iostream>

using namespace std;

 int main()

{

        cout<<"Hello world!"<<endl;

        return 0;

}

 

5.按ESC然后按冒号,此时就可以输入:wq保存退出,返回到命令行模式

6.$ ls -l    # 查看已经编写的文件      $ more hello.cpp    是查看文件中的内容

7. $ g++ hello.cpp     #  g++  是编译       此时用$ ls -l 查看里面多了一个a.out 文件,即是生成的目标文件

8. $ ./a.out    # 用命令./ 执行.out 文件,就可以得到文件的输出了


 

保存命令:

按ESC键,然后再shift+:(输入冒号),此时在冒号的后面输入下面的命令(例如 :wq 保存退出) 就可以跳到命令行模式

:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

 

 

 

g++和gcc的区别:

1、对于不同后缀的文件当作程序不同。

c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。

2、编译阶段调用不同,g++会调用gcc;

3、连接阶段方式不同,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。

 

gcc/g++在执行编译工作的时候,总共需要4步

1.预处理,生成.i的文件[预处理器cpp]

2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]

3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]

4.连接目标代码,生成可执行程序[链接器ld]

 


win下py代码,头文件是#-*-encoding:utf-8-*-,是告诉python解释器, 应该以utf-8编码来解释py文件, 对于python 2.6/2.7, 如果程序中包含中文字符, 又没有这一行, 运行将会报错. 但python3.1没有这行, 也会成功运行的。
linux下,头文件需要写c。
加上这行, 这个py就处于了可执行模式下, (当然是针对linux类的操作系统), 这个hint, 告诉操作系统要使用哪个python解释器来执行这个py. 在linux上执行一下命令 /usr/bin/env python ,就知道这行其实是call一下python解释器.



vi 模式下也可也编写其他代码,利于编写Python代码,只需要创建一个.py的问价,然后进入编写模式,此时要在编写文件的时候,加上头文件
我试了,在Linux下写Python文件时,需要加上的文件头有:
/usr/bin/env python
#-*-encoding:utf-8-*- # 不加这个会报错,报错内容如下

  File "try.py", line 3

SyntaxError: Non-ASCII character '\xe5' in file try.py on line 3, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

 
 

原文链接: https://www.cnblogs.com/AlvinSui/p/8917038.html

欢迎关注

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

    如何在终端编译C++代码

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

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

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

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

(0)
上一篇 2023年2月14日 下午11:03
下一篇 2023年2月14日 下午11:03

相关推荐