关于c++原理的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:47:12
最近在学c++,心中一直有一些困惑,希望高手能够解答,或者推荐相关书目,不胜感激。
c++是如何被编译器编译成程序的。里面的那些语句到底是怎么执行命令的。通过学习,我知道有些语句操纵内存,比如指针一类的,但是我想知道的更深刻一些。像类的对象是以什么形式去记录在内存,计算机又是怎么去拿他做一些计算等等,希望有一些书能将编程和电子电路的知识联合起来(可能需要很多知识在两者之间作为桥梁)。还有程序生成为exe格式后,有没有办法看它的代码呢?

你问的问题不是几句话就说的清楚的。还是推荐给你几本书吧。
要知道C++(包括其他高级语言)是如何生成可执行程序的,要知道编译原理的知识。简单过程就是词法分析,语法分析,语义分析,代码优化,代码生成等。可以看《Compilers: Principles, Techniques, and Tools》这是经典名著。要知道程序是怎么连接和加载的,要看《linkers & loaders》这本书,也很经典,况且这个领域的书比较少。
如果是想再电路和程序之间建立桥梁的话,那要看《微机原理》或者《单片机》一类的书,当然了,这些东西很底层,要先懂汇编语言的,不过用C/C++也是可以的。
要看exe程序的源代码,要用奥反编译的东西,反编译后一般是汇编代码,读起来很辛苦的。

C++是如何被编译器编译成程序的。--<<编译原理>>
里面的那些语句到底是怎么执行命令的。--<<汇编语言>>
类的对象--只是在C++这种语言层面存在.
计算机又是怎么去拿他做一些计算--<<微机原理>>

CPU有自己的指令集,CPU会从一个存储器里一条一条拿过来分析,并执行

编译就是根据你写的文本文件,把他们翻译成这些指令

当然,你不用详细的设计每个操作,有时你只要调用一些现成的函数,
如操作系统提供的 API,等等

C++ 中的类并不是你想象中的那样,不用类,一样可以写程序。
C++ 把结构体,跟与些结构体相关的操作绑在一起,增加一些保护,这样,写程序时,思路会更清晰一点。

CPU有自己的指令集,CPU会从一个存储器里一条一条拿过来分析,并执行

编译就是根据你写的文本文件,把他们翻译成这些指令

当然,你不用详细的设计每个操作,有时你只要调用一些现成的函数,
如操作系统提供的 API,等等

C++ 中的类并不是你想象中的那样,不用类,一样可以写程序。
C++ 把结构体,跟与些结构体相关的操作绑在一起,增加一些保护,这样,写程序时,思路会更清晰一点。《Comp