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! 强制保存文件,并退出viq:  不保存文件,退出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

如何在终端编译C++代码相关推荐

  1. 如何在Visual Studio Code中编译C ++代码

    PS: This was published on my Blog here. PS:这已发布在我的Blog 此处 . C++ is a statically-typed, free-form, (u ...

  2. 如何用gcc编译C代码

    如何用gcc编译C代码 1.编写 hello word 的两种方法--现成编译器 这个方法大家都经常用,比如DEVCpp,Visual Studio 2017,Visual C++ 6.0等. 简单的 ...

  3. python的代码编译、代码打包方法

    python的代码编译.代码打包方法 代码编译 把代码编译成pyc文件 import py_compilepy_compile.compile(r'文件路径') 或者直接在terminal中运行 py ...

  4. 使用DOSBox编译汇编代码

    安装 DOSBox:https://blog.csdn.net/qq_44989881/article/details/117266756 配置环境变量 添加后,在DOSBox控制台中输入 masm, ...

  5. eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件

    导读: 最近在看 Flink 源码的时候发现到一段实用的代码,该代码实现了 java 动态编译以及生成 jar 文件.将其进行改进后可以应用到我们的平台上,实现在平台页面上编写 java 代码语句,提 ...

  6. IAR软件中直接查看编译后代码大小

      在使用IAR软件编译代码时,编译后往往看不到编译后代码的大小情况.在调试程序的时候还是比较麻烦的.下面就总结两种最简单的方法在IAR编译器中查看代码大小. 通过输出的编译信息查看   IAR默认的 ...

  7. QCA-WIFI如何编译IPQ8074代码

    QCA-WIFI如何编译IPQ8074代码 生成代码 编译代码 本文以QCA的IPQ807x芯片作为编译说明(需要有相关release文档): 生成代码 1,如果自己有下面代码,可以不执行,否则要到Q ...

  8. 迷你播放器--第一阶段(7)--安全攻防第一战--对抗反编译,代码混淆和对抗动态调试

    迷你播放器--第一阶段(7) 安全攻防第一战--对抗反编译,代码混淆和对抗动态调试; 本文章为CSDN作者原创,转载请保留出处:http://blog.csdn.net/lrs0304/article ...

  9. windows平台下载并编译webrtc代码(代理)2021.8.11

    好久没更写新博客了,当然好久没更新webrtc代码了,突发奇想拉去最新代码,无奈找了很多办法不行.经过不懈努力还是找到了简单实用的方法,现分享与大家. **注意:**起步之前,你需要配置科学上网方法, ...

最新文章

  1. linux排除多个文件,linux – 通过排除其父文件夹为多个目录创建单个tar文件
  2. html5联系人字母,HTML5 字符串逐个字母变换
  3. c++带成员指针使用
  4. GacUI基本概念(二)——排版(2)
  5. 关于代码评审的微博讨论汇集
  6. AcWing 900. 整数划分(完全背包计数问题)
  7. 一个存储交流的报告——闪存存储系统设计
  8. 49. NAT 服务器
  9. 快速提取年龄,身份证提取年龄的公式
  10. 分布式服务架构读书笔记-第六章 Java服务的线上应急和技术攻关
  11. itools3.0服务器维护,APP Store失联?iTools3.0告诉你如何解决
  12. WIN10 本地打印机没有“打印机属性”
  13. 第6回 スライドによるページナビゲーション
  14. Err 1091 - Can't DROP 'car id' check that column/key exis
  15. java实现图片滚动_怎么用Java代码使图片自行滚动浏览
  16. Linux终端模式下查看电脑的硬件配置信息小技巧
  17. 【pandas之数据清洗和处理和空值处理】
  18. 闲人琐事(假期第一周)
  19. 对话李国杰:突破麦肯锡和图灵的框框,人工智能要解决大问题丨GAIR 2021
  20. layer弹出层内点击确认提交数据并关闭弹出层

热门文章

  1. python中order函数_order by排序
  2. resnet152训练_Resnet-152的图像预处理
  3. 利用bds和dfs解决 LeetCode 107. Binary Tree Level Order Traversal II
  4. LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
  5. 程序员面试金典 - 面试题 16.01. 交换数字(位运算swap)
  6. LeetCode 11. 盛最多水的容器(双指针)
  7. POJ 1064 分割线缆(二分查找)
  8. pcb外观维修_「维修案例」泰克AFG3021函数任意波形发生器故障维修
  9. 京东抢购助手_[Windows] 京东极速抢购助手V2.0,支持京东健康+扫货抢购
  10. ARM的UART实验