最新 最热

二进制如何变成汇编语言

之前我们把重点放在硬件 - 组成计算机的物理组件,比如电,电路,寄存器,RAM,ALU,CPU。但在硬件层面编程非常麻烦,所以程序员想要一种更通用的方法编程,一种"更软的"媒介,没错,我们要讲软件!...

2019-08-19
0

从汇编语言到高级编程语言的演变

葛丽丝·霍普博士(作为美国海军军官,她是哈佛1号计算机的首批程序员之一)也遇到了这个问题,这台机器我们在前面提过。这台巨大机电野兽在 1944 年战时建造完成,帮助盟军作战。程序写在打孔纸带上,放进计算机执行。顺便一说,...

2019-08-19
0

1.2 C语言运行原理

作为一种编程语言,本身是谈不上工作原理的,实际上C语言所有的语法,正是C语言编译器的工作原理或者工作机制的具体实现。要细致的讨论起来是不可能,但是作为C语言程序员,必须了解这个大致的流程。一个程序,从C语言源码,到系统...

2019-08-19
0

重学计算机组成原理(七)- 程序无法同时在Linux和Windows下运行?

既然程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在Linux下可以运行,而在Windows下却不行呢?

2019-08-16
0

每日算法题:Day 10

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10....

2019-08-13
0

Windows Interlocked系列函数

本文以InterlockedIncrement为例,来说明Windows Interlocked系列函数的实现原理。 一、InterlockedIncrement反汇编代码

2019-08-13
0

重学计算机组成原理(四)- 玩玩纸带编程

当年写程序,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)”

2019-08-13
0

十年磨一剑!万字长文剖析华为方舟编译器的前世今生

2017年5月的一个凌晨,华为某实验室里,方舟编译器上第一个Java程序“Hello, World”跑通了。

2019-08-09
0

面试题深入解析:Synchronized底层实现

偏向锁的诞生背景和基本原理在上文中已经讲过了,强烈建议在有看过上篇文章的基础下阅读本文。

2019-08-09
0

笔记——JVM、DVM(dalvik)和ART之间的区别(二十)

JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的.class字节码文件,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编...

2019-08-06
0