摘要:
计算机在存储数据到内存的时候遵守大端模式和小端模式,也就是我们所说的大尾和小尾模式 大端(大尾):数据的高字节保存在内存的低地址 小端(小尾):数据的高字节保存在内存的高地址 下面是摘自百度百科,这个例子比较好理解 大端模式 所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地 阅读全文
摘要:
Windows XP 环境下在安装了VC6.0使用bat批处理的形式命令行编译链接生成exe文件测试练习操作步骤 1.正常安装好VC6.0环境可以正常编译执行生成exe文件 2.配置系统环境变量PATH 3.在系统环境变量位置添加LIB名称并添加VC6.0对应LIB文件路径 4.在选题环境变量位置添 阅读全文
摘要:
1.PE文件的两种状态 PE文件与内存镜像,她们以节的形式进行分割,由于历史原因,很早之前的编译器将文件在磁盘和执行之后在内存 中的状态以"节"的形式分离,在内存空间的时候分隔的是1000H,在硬盘的时候是200H(十六进制) 一、PE为什么要分节? (1)节省硬盘空间.(这个不是决定的,由编译器决 阅读全文
摘要:
参考地址: https://www.zhihu.com/question/30315894 https://blog.csdn.net/weixin_44996090/article/details/104432593 总结下: 1.先要安装好编译环境 下载地址 --> https://source 阅读全文
摘要:
相关练习验证测试代码及课后练习 1.宏定义说明: 一、无参数的宏定义的一般形式为:# define 标识符 字符序列 如: #define TRUE 1 #define FALSE 0 int fun() { return TRUE; } #define PI 3.1415926 double Fu 阅读全文
摘要:
相关练习和测试代码 C指针 1."带*类型" 的特征探测:宽度 宽度探测 带一个*的探测 源代码 #include "stdafx.h" #include <string.h> void fun() { char* a = (char*)1; short* b = (short*)2; int* c 阅读全文
摘要:
switch语句相关练习代码 switch语句反汇编 正常switch语句在VC6++的编译器环境下,3个或者3个一下的条件,反汇编语句跟if else if ......没啥区别,也是一个一个比较,看下面例子 源代码 #include "stdafx.h" #include <string.h> 阅读全文
摘要:
相关测试代码 结构体的定义与使用 struct st //struct是一个关键字 st是用户自己定义的一个名字 { //可以定义多种类型 int a; char b; short c; }; 结构体的使用 void Function(person p) { st s; s.a = 10; s.b 阅读全文
摘要:
测试练习 常见的几种调用约定 前缀:__cdecl 参数压栈顺序:从右至左入栈 平衡堆栈:调用者清理栈(外平栈) 前缀:__stdcall 参数压栈顺序:从右至左入栈 平衡堆栈:自身清理栈(内平栈) 前缀:__fastcall 参数压栈顺序:ECX/EDX传送前两个,剩下:从右至左入栈 平衡堆栈:自 阅读全文
摘要:
通过调试发现,默认情况下写的C代码通过编译会自动变成汇编代码,但是如果写入下面裸函数代码则C代码不会变成汇编语言 // dstest1.cpp : Defines the entry point for the console application. // #include "stdafx.h" 阅读全文