汇编、c语言、c++的一些想法。
学习C++的过程中一直有懂一点和迷糊的情绪伴随。
这几天在学习C++的变量定义、变量声明、数据类型等等。很多时候,跟我想的内容不一样。经常是,只知道这个东西是这样子的。却不知道,这个东西能在程序中有什么功能,这个东西是怎么实现这个功能的。一直很迷糊,搞得自己一会儿就陷入死胡同了。没了学习的动力。
刚才中途停下来,看看计算机(个人觉得,还是计算机这个词语能够最贴切地描述computer。电脑这个词,有点不够格。)的控制史。以,机器语言,汇编语言,C语言,C++语言为线,清理了一下顺序。
一开始,我们控制计算机,是直接输入二进制语言(01010……),这个东西太难记,于是,人们利用替代法,发明了汇编语言,同时发明了一个转换器。在使用汇编语言过程中,{人们发现有很多功能都是频繁用到的,例如:向显示器输出…………;向内存写入……;人们就把这些通用的代码打包!以后用到的时候,直接使用,不用再重新编写了!打包的时候,说明了激活这个包的方法【需要在什么样的环境下使用,需要几个参数,参数的值、参数的类型等等】和这个包能够干的事情。}“{}”【这个里面的内容,是非常重要的!一直到现在,我们都在遵循着这个规律!不断地有新的包被开发出来】
然后,不断有新的汇编包被整理到一块儿。接下来,人们觉得汇编语言还是不方便记忆,于是就又利用替代法,发明了C语言,同时发明了一个转换器。
在使用C语言的过程中,人们有发现了一些代码的重复使用率很高,于是,又像汇编语言那时候那样,收集汇总那些通用的代码,打包,说明使用参数,包的功能。
接下来,人们又发现,C语言有缺陷,可以用更好的方法来控制计算机。于是,就发明了C++,同时发明了转换器。在使用C++语言过程中,人们又把重复使用的代码整理收集起来,打包。发布参数,公布功能。
机器码—(转换器)—汇编语言—(转换器)—C语言—(转换器)—C++语言
在学习过程中,有几个问题,是一定要注意的。
1.它是什么?这个问题在学习基础知识的时候就可以弄明白了。
2.它有哪些功能?这个问题在学习基础知识的时候,不用深究!这个问题是在代码练习的时候,要弄明白的事情。
3.它是如何实现这个功能的?这个问题涉及到汇编语言。在学会汇编语言后,这个问题就好弄懂了。不要在学习和练习中深究!
个人觉得,一定要把这3个问题处理好,不然容易迷糊。到什么阶段处理什么问题,不要提前处理!
-----------
上面的话,很可能有很多错误的地方,后面在学习中改进吧。
汇编、c语言、c++的一些想法。的更多相关文章
- Golang 汇编asm语言基础学习
Golang 汇编asm语言基础学习 一.CPU 基础知识 cpu 内部结构 cpu 内部主要是由寄存器.控制器.运算器和时钟四个部分组成. 寄存器:用来暂时存放指令.数据等对象.它是一个更快的内存. ...
- [汇编] C语言中嵌入汇编
>_<" 下面是在C语言中嵌入汇编的例子,下面是三点要注意的~ 1.内联式汇编 2._asm关键字 3.并不是所有中断都能被支持 #include<iostream> ...
- C语言程序设计概述
1 概论 1972年Dennis Ritchie发明了C语言,而后Dennis Ritchie又使用C语言重写了Unix系统,自那以后C语言逐渐受到了全世界大多数编程爱好者的喜爱,后期的主流操作系统L ...
- C语言函数参数压栈顺序为何是从右到左?(从左向右的话,碰到printf的会陷入死循环)
上学期学习了汇编语言,并在操作系统实验中使用了汇编+C语言混合编程,中间也了解了一些C语言与汇编语言的对应关系. 由于汇编语言是底层的编程语言,各种函数参数都要直接控制栈进行存取,在混合编程中,要用汇 ...
- C语言实现简易2048小游戏
一直很喜欢玩这个小游戏,简单的游戏中包含运气与思考与策略,喜欢这种简约又不失内涵的游戏风格.于是萌生了用C语言实现一下的想法. 具体代码是模仿这个:https://www.cnblogs.com/ju ...
- 【转】R语言知识体系概览
摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...
- Go语言大神亲述:历七劫方可成为程序员!
“历劫1”:你坚信你可以用Go来做面向对象编程? 在经历了一次Go应用之旅之后,你可能就会开始思考:“怎么样才能让这种语言更像面向对象的编程语言?”因为你已经习惯了这种编程,你想要制作健壮的代码.想要 ...
- 关于C语言指针的一些新认识(1)
Technorati 标签: 指针,数组,汇编,C语言 前言 指针是C语言的精华,但我对它一直有种敬而远之的感觉,因为一个不小心就可能让你的程序陷入莫名其妙的麻烦之中.所以,在处理字符串时,我总是能用 ...
- 汇编和C/C++的混合编程方式
常用的有三种方式: 在C/C++代码中嵌入汇编指令 汇编调用C/C++ C/C++中调用汇编 实例一: 在C中嵌入汇编: void string_copy(char *dst,const char * ...
- ARM 汇编与C之间 的调用
一. 汇编调用 C 1. 初始化栈 2. 初始化BSS段 (BSS 段是C语言存放未初始化的全局变量,或者初始化为0 的全局变量) 3 .使用 r0 ,r1, r2, r3 给函数传参,如果多于 4 ...
随机推荐
- LTE 测试文档(翻译)
Testing Documentation 翻译 (如有不当的地方,欢迎指正!) 1 概述 为了测试和验证 ns-3 LTE 模块,文档提供了几个 test suites (集成在 ns- ...
- JAVA 1.6 流程控制语句
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...
- JS 之JSON
JSON是Javascript中的对象,其简单理解为下:
- linux centos yum安装LAMP环境
centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源 ...
- mybatis2
正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Sessio ...
- 分布式事务二阶提交DTS系统
前端时间写新交易系统时,经常碰到事务一致性问题,网上搜了一下,有一些解决方法,采用了扫表补偿的方式来完成,刚开始只有几个接口需要处理,工作量还可以,但是后续随着需求的增加,这些场景错综复杂,导致大量时 ...
- Java之工厂方法
普通工厂模式: 第一步:定义接口,坚持面向接口编程, package dp; public interface Sender { public void send();} 第二步:实现接口: p ...
- [ubunut]打造Ubuntu下Java开发环境 (转)
http://www.cnblogs.com/wufengtinghai/p/4542366.html 遇到困难: A Java Runtime Environment (JRE) or Java D ...
- Mysql执行大文件sql语句 -- 未测试
如果.sql文件过大,mysql会直接断开连接 解决方法: 在mysql的配置文件my.cnf 中加入 一行max_allowed_packet = 100M(该大小>=mysql.sql文件大 ...
- 使用CXF发布WebService
这里普及一下WebService和cxf的知识.关于webservice和cxf: WebService.各种提供服务的组件 .企业总线.通讯总线(ESB)CXF:是一个SOA框架,Axi ...