windows下ELF学习总结
来源:互联网 发布:批量条码生成软件 编辑:程序博客网 时间:2024/06/13 20:48
0. 使用VS2010进行测试
1. ELF文件结构的定义在WinNT.h中,该文件放在C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include目录下
2. 添加WinNT.h头文件在工程后,编译过程中报错,显示“DWORD”无法解析。解决方法是,由于DWORD这个宏定义包含在windows.h头文件中,只要再添加上windows.h头文件即可。于此同时,诸如“WORD”,“PWORD”这样的宏定义都可以找到了
3. 读取二进制.obj文件
3.1 打开二进制文件
FILE * fopen(const char * path,const char * mode);
"F:\\VS2010\\DumpbinElf.obj"
需要注意的是,要使用两个\\,第一个\表示转移字符mode: 读取二进制文件使用"rb",读取一般文件只用"r"即可。
fopen()函数返回FILE类型的指针,比如
FILE *infile;
FILE *infile; infile = fopen("F:\\VS2010\\DumpbinElf.obj", "rb"); if(NULL == infile) { printf("File read ERROR!\n"); exit(1); }
3.2 读取二进制文件
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
stream是3.1节中所打开的二进制文件。
ptr指向一段空间,用于保存读取的数据。
size是每次读取一个数据的长度,以byte为单位,比如size=2,每次读取2 bytes。
count是每次读取多少个数据,其单位是第二个参数size。
返回值是读取了数据的个数,单位是字节。
如果读取成功,每调用一次fread函数,将读取数据的长度是size*count,单位是byte
一个读取二进制文件的例子:
char buf[1024];while((rc=fread(buf,sizeof(int),4,infile))!=0);
在这个例子中,每次读取2*4个字节的数据,下面这个网址有关于fread的详细介绍:
http://www.cplusplus.com/reference/cstdio/fread/
阅读全文
0 0
- windows下ELF学习总结
- Linux下的ELF可执行文件学习总结
- elf格式学习总结
- elf文件格式学习总结
- elf文件格式学习总结
- elf文件格式学习总结
- Windows下编译ELF的血泪史
- windows平台下用elf作为目标文件格式
- 学习linux下elf文件的一些整理
- elf文件格式总结
- elf文件格式总结
- elf文件格式总结
- elf文件格式总结
- 【Qt学习】windows下编译mysql驱动总结
- Linux下ELF文件格式
- ELF格式学习笔记
- ELF格式学习
- ELF文件格式学习(1)
- PHP各版本差异 5.2——7.0
- Q3数据中心面积增长近5成,三大驱动力持续扩大万国数据领先优势
- xUtils单线程断点续传
- 极简主义设计的魅力在哪里
- Mac 安装 node.js
- windows下ELF学习总结
- record
- maven项目在tomcat启动的时候报java.lang.ClassNotFoundException
- Keil MDK下如何设置非零初始化变量
- Spring SpringMVC以及Mybatis结合
- sts ide 启动tomcat提示45秒超时
- pygame简易音乐播放
- 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
- 欢迎使用CSDN-markdown编辑器