C++语言的原理是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++语言的原理是啥?相关的知识,希望对你有一定的参考价值。

c++与二进制代码有何关系?
是不是可以这样理解:从C++到二进制代码是一个从人可以看懂的语言到计算机可以识别的语言的过程?

C++是面向对象的高级语言,具有高级语言的特性,所以楼主的问题可以理解为“高级程序语言的原理是什么?"而讨论高级程序设计语言的原理的书一般叫《编译原理》所以楼主可以尝试看看有关编译原理的书。
其实高级程序设计语言最终都是要被反编译成为汇编语言代码的,而汇编语言代码又要被翻译为二进制代码。大概就是这样的。
编译原理所讨论的主要内容是:
1.词法分析
2.语法分析
3.语义分析
4.中间代码生成(即生成汇编代码)
5.代码优化(去掉一些不必要的指令)
6.目标代码生成(即二进制文件)
参考技术A 由于二进制代码极难编写 所有就有了助记符代替二进制 也就是汇编语言 他和二进制代码是一一对应的 但是汇编还是对编写大的程序还是很复杂的 所有就有了高级语言 比如c++ 用高级语言编写的程序得用编译器翻译成机器的识别的代码 也就是二进制

还有不懂得吗

可以这么理解本回答被提问者采纳
参考技术B 额!
c++做出的是源文件,编译就是二进制代码
需要编译器的代码分析,否则它什么也不是
参考技术C 学了编译原理就知道了!里面有翻译为汇编语言的方法! 参考技术D C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
C++发展历史简单介绍
C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子的第一个字母是B; 当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,所以就叫C++,也成立了C++标准委员会;
美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1488-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2009年)只有Visual C++ 2010 CTP开发环境的编译器完全符合这个标准。
另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。

以上是关于C++语言的原理是啥?的主要内容,如果未能解决你的问题,请参考以下文章

visual c++是啥?

计算机二级考试内容是啥?

c++语言中class是啥意思

C++和JAVA的区别是啥?

C++和JAVA的区别是啥?

C++语言中,指针的英文单词是啥?