C++学习(二)

C++学习memo——二

      • 1.2.4 编写第一个C++应用程序
        • Hello World程序(Hello.cpp)
      • 1.2.5生成并执行第一个C++程序
    • 1.4总结
    • 1.5问答
    • 1.6作业
      • 1.6.1测验

[C++学习(一)](https://blog.csdn.net/qq_44486787/article/details/113348150


1.2.4 编写第一个C++应用程序

Hello World程序(Hello.cpp)

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

#include 可以读作 hash-include、sharp-include或 pound-include

1.2.5生成并执行第一个C++程序

如果使用的是Linux系统,可使用如下命令调用g++编译器和链接程序

g++ -o hello Hello.cpp

该命令行让g++编译C++文件Hello.cpp,并创建一个名为hello的可执行文件。然后在执行命令.\hello即可。
注:C++中语句分行并不能自动结束语句


1.4总结

学习了如何编写、编译、链接和执行第一个C++程序。

1.5问答

  1. 解释型语言和编译型语言的异同:
    比如Windows Script等语言是解释性的,不需要翻译,解释性语言使用解释器,解释器直接读取脚本文件(代码)并执行特定的操作,因此在计算机上执行脚本必须安装解释器。在运行阶段,解释器在微处理器和代码之间充当翻译,因而性能会受到影响。
  2. 什么是运行错误
    执行应用程序时发生的错误成为运行错误。最终用户不会遇到编译错误,这种错误表明程序存在语法问题,禁止程序员生成可执行文件。

1.6作业

1.6.1测验

  1. 解释器和编译器有什么不同
    编译型语言需要编译器处理,主要工作流程如下:
    源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序(executables)在这个过程中,编译器调用预处理器进行相关处理,将源代码优化转换(包括清除注释、宏定义、包含文件和条件编译1),然后通过将预处理的源代码编译成目标代码(二进制机器语言)。再通过调用链接器外加库文件(例如操作系统提供的API),从而形成可执行程序让机器可以执行。
    在这个流程中,目标代码要和机器的CPU架构相匹配,库文件要和操作系统相匹配。如果想在不同CPU的机器或者系统运行C语言的代码,就需要针对不同的CPU架构和操作系统机型编译。
    编译型语言的缺点我们就看到了,它不适合跨平台
    到这里大家应该能知道,为什么CPU一样,但是exe程序只能Windows中运行,而不能在Mac中运行了。
    早期的解释器就是这样的工作流程:源代码 (source code) → 解释器 (interpreter) 。源代码无需预先编译成可执行程序。
    在程序执行时,解释器读取一句源代码之后,先进行词法分析和语法分析,再将源代码转换为解释器能够执行的中间代码(字节码),最后,由解释器将中间代码解释为可执行的机器指令。
    所以,编译型语言的可执行程序产生的是直接执行机器指令,而解释型语言的每一句源代码都要经过解释器解释为可以执行的机器指令,相比之下解释型语言的执行效率会低一些。
  1. 链接器的作用
    参考链接C++链接器的作用

  2. 正常的开发周期步骤
    (1)分析问题
    (2)设计程序解决问题
    (3)程序编码
    (4)程序测试

  3. C++11如何更好的支持多核CPU


  1. 预处理程序提供了条件编译的功能。条件编译允许只编译源文件中满足条件的程序 段,使生成的目标程序较短,从而减少了内存的开销,并提高程序的效率,可以按不同的 条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。 ↩︎

你可能感兴趣的:(C++学习,VSCode,C++)