赞
踩
LearnCpp中文版 | LearnCpp中文版 (learncpp-cn.github.io)
CPU可以直接理解的有限指令集称为机器代码(或机器语言或指令集)
例: 10110000 01100001
不同的CPU具有不同的指令集
==> 不能在不共享相同指令集的CPU上使用为一种CPU类型编写的指令
==> 程序通常不可移植(除非大返工)
==> 用于不同类型的系统,并且必须重新编写
用汇编语言编写的程序往往非常快,而如今,在速度至关重要的情况下,还是会有人使用汇编语言
例:mov al, 061h (和上述机器码的意思一致)
缺点:
汇编语言仍需要大量指令来完成简单的任务。虽然单个指令本身在某种程度上是人类可读的,但了解整个程序正在做什么就比较难了(这有点像试图通过单独查看每个字母来理解句子)
汇编语言的可移植性仍然不够 – 使用汇编语言为一种CPU类型编写的程序不能在使用不同指令集的其他硬件上运行。并且必须重写或进行大量修改
允许程序员编写程序而无需关心程序将运行在何种类型的计算机上
例:a = 97(和上述汇编的意思一致)
高级语言有许多可取的特性
可移植性有两个常见的例外
有些编译器支持特定编译器拓展 – 如果你使用了它,你的程序就不能被其他编译器编译,除非其他编译器支持同样的编辑器拓展,我们会在之后教你安装编译器的时候再来讨论这一点。
解释器( interpreter ) 与 编译器( compiler ) 的对比 - Captain_Li - 博客园 (cnblogs.com)
是一个程序(如 gcc编译器)
简化过程:
是直接执行在源代码中的指令(如 命令行中输入python,输入一行就执行一行)
解释器简化过程:
程序开发过程:
我们来讨论步骤4、5
C++编译器按顺序遍历程序中的每个源代码(.cpp)文件,并执行两项重要任务:
如果您的程序有3个.cpp文件,编译器将生成3个目标文件:
编译器创建目标文件(一个或多个)完成,另一个称为“链接器”的程序启动
链接器的工作有三个:
关于“库”:
一个库文件是预编译代码的集合,它已经“打包”在其他程序中重新使用
C++核心语言实际上相当小而简洁。但是,C++还附带了一个名为C++标准库(通常缩写为标准库)的扩展库
您也可以选择在其他库中链接,例如,如果您要编写一个播放声音的程序,您可能会——
——这将是很多工作!相反,你可能会下载一个已经知道如何做这些事情的库,并使用它。我们将在附录中讨论如何在库中链接、如何创建自己的库
对于高级读者
对于复杂项目,某些开发环境使用makefile
- 该文件描述了如何构建程序(例如,要编译和链接的文件,或以其他方式处理)
- 已经有了关于如何编写和维护makefile的全书,它们可以成为一个非常强大的工具
- 但是,因为makefile不是C++核心语言的一部分,也不需要使用它们来继续,所以我们不会将它们作为本教程系列的一部分进行讨论。
“如何正确使用C++” 和 “不该怎么用C++编程” 两者同等重要
是一种面向对象的语言
C和C++的基本设计理念可以概括为“信任程序员” - 既美妙又危险。如果没有意识到这一点,新程序员可能会陷入相当多的陷阱
C++在需要高性能和精确控制内存和其他资源的情况下表现出色。以下是一些常见的应用程序类型,最有可能用C++编写:
Q:什么是预编译头,我们为什么要关闭它们?
A:
在大型项目中,预编译头文件可以通过避免容易出现的冗余编译来提高编译速度。
但是,使用预编译标头需要额外的工作,对于小型项目(例如您将在我们的教程中创建的项目),编译时间几乎没有差异。 出于这个原因,我们建议一开始就关闭预编译头文件,只有在您发现编译时间不佳时才启用它们。
- #include <iostream>
-
- int main(){
-
- std::cout << "hello world";
-
- return 0;
- }
编译:g++ -o HelloWorld HelloWorld.cpp
运行:HelloWorld
(or possibly ./HelloWorld
),
常见问题:0.8 — A few common C++ problems – Learn C++ (learncpp.com)
Rule:Rules are instructions that you must do, as required by the language. Failure to abide by a rule will generally result in your program not working.
Best practice:Best practices are things that you should do, because that way of doing things is generally considered a standard or highly recommended. That is, either everybody does it that way (and if you do otherwise, you’ll be doing something people don’t expect), or it is superior to the alternatives
Warning: Warnings are things that you should not do, because they will generally lead to unexpected results.
将您的代码文件命名为name.cpp(其中name是您选择的名称),而不是什么.cc
为您编写的每个新程序创建一个新项目
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。