汇编、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 ...
随机推荐
- CMD 规范是不是就是 commonJS 规范?
作者:giscafer链接:https://www.zhihu.com/question/20576942/answer/58094030来源:知乎著作权归作者所有,转载请联系作者获得授权. CMD是 ...
- 如何把excel 数据做dataprovide
1. 新建一个类,实现接口Iterator import java.io.FileInputStream; import java.io.FileNotFoundException; import ...
- 解决ora-00054 Oracle锁表问题
1.运行sql: select session_id from v$locked_object; 查出锁表的session,可能很多,正常是没有的 2.SELECT sid, serial#, u ...
- mongo 相关命令
mongo导入数据: 1. 先进入找到mongo 安装目录 执行 ./mongo 进入mongo 2. mongorestore -u 用户名 -p 密码 -d 数据库 —drop 文件存在路径 显示 ...
- jq获取屏幕高度和宽度(盒子模型)
$(window).width(); //浏览器可视窗口宽度 $(window).height(); //浏览器可视窗口高度 $(document).width();//body的宽度 $(docum ...
- CIDR风格
CIDR地址中包含标准的32位IP地址和有关网络前缀位数的信息. eg: 地址:192.168.10.0/24,其中/24标示前面地址中的前24位代表网络部分,其余代表主机部分. 11000000 1 ...
- stopping NetworkManager daemon failed
1 初次安装NetworkManager时发现,无法将这个服务关闭 2 上网找了一圈,也没找到原因 3 重启服务器后就能正常关闭了 4 将该服务删除重装也能正常关闭 5 下回重装系统时再观察一下
- JavaScript函数定义和调用 变量作用域
本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 JavaScript中函数定义可以是这样的格式 function 函数名(参数) { 函数体 } 也可以是这样的格式 ...
- linq 日期分组统计
#region string Condition(DateTime date, string type) { if (date == null) ...
- Java—数组
1 声明数组变量 dataType[] arrayRefVar; 2 实例数组 double[] myArray; 3 创建数组 arrayRefVar =new ...