最新 最热

C++右值引用小说明

有一条原则是在NRVO时候,如果函数体内存在不同的分支返回不同的变量 如if x return a; else return b;

2019-03-28
0

C++雾中风景13:volatile解惑

volatile这个单词在英文之中的意思是:易变的,不稳定的的含义。所以顾名思义,一旦变量通过了volatile关键词修饰之后,说明变量是易变的和不稳定的。而C++之中最大的误会就是认为volatile关键词与并发编程有关,至于为何会引...

2019-03-19
0

基于汇编的 C/C++ 协程 - 切换上下文

既然本系列讲的是基于汇编的 C/C++ 协程,那么这篇文章我们就来讲讲使用汇编来进行上下文切换的原理。

2019-03-13
0

[inside hotspot] 汇编模板解释器(Template Interpreter)和字节码执行

hotspot解释器模块(hotspotsrcsharevminterpreter)有两个实现:基于C++的解释器和基于汇编的模板解释器。hotspot默认使用比较快的模板解释器。 其中

2019-03-05
0

FFmpeg使用手册 - FFmpeg 的编译安装

FFMpeg在官方网站中提供了已经编译好的可执行文件,用FFmpeg的人很多,因为FFmpeg是开源的,并且可以自己DIY,而且很强大,所以,FFmpeg还有一个优势就是开源。而在使用Linux时,无论是用ubuntu或者redhat,如果使用系统提供的源安装...

2019-03-05
0

深入理解计算机系统(第三版)/ CSAPP 杂谈,第3章:程序的机器级表示

*x86-64还为128位操作提供有限支持,当imulq和mulq为双操作数时,是64位乘法;当为单操作数时,另一个乘数将视为%rax,而结果将存放在%rdx(高64位),%rax(低64位)中。...

2019-02-27
0

linux装载和启动可执行程序的过程

预处理:gcc -E -o hello.cpp hello.c -m32 (源代码)

2019-02-27
0

通过汇编一个简单的C程序,分析汇编代码理解计算机工作原理

首先从main函数开始分析,18行将ebp推入栈中,19行中将esp的值赋给ebp(左边值赋给右边),20行开辟4个字节(32位)的栈空间给后面的局部变量7。函数传递传递参数的方式有三种:堆栈方式、寄存器方式、以及通过全局变量进行隐含参...

2019-02-27
0

C语言中处理结构体的原理

汇编中有几种寻址方式,分别是直接寻址:(ds:[idata])、寄存器间接寻址(ds:[bx])、寄存器相对寻址(ds:[bx + idata]、ds:[bx + si])基址变址寻址(ds:[bx + si])、相对基址变址寻址([bx + si + idata])。 结构体的存储逻辑图...

2019-02-25
0

汇编debug与masm命令

汇编语言这块是我之前写在网易博客上的,不过那个账号基本已经作废了,所以现在抽个时间把当时的博客搬到CSDN上。 汇编命令(编译器masm命令):找到masm所在的文件夹,我的在d:MASM中,用cmd打开dos界面,输入“d:”切换到D盘,再输...

2019-02-25
0