大家好,我是豹哥,猎豹的豹,犀利哥的哥。今天豹哥给大家讲的是 嵌入式开发里的反汇编文件(.s, .lst, .dump) 。 豹哥在第四、五、六节课分别介绍了编译器/链接器生成的3种output文件(relocatable、map、exectuable文件),这3种文件都是侧重的代码经过汇编/链链接 ...
分类:
其他好文 时间:
2018-01-15 18:53:07
阅读次数:
1054
要推荐的书,我在《那两年炼就的Android内功修养》这篇文章中有提到,这里再列一下出来: 语言类: 《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》 程序编译、链接、加载类: 《链接器和加载器》,对应的英文版是《Linker and Loader》 《 ...
分类:
系统相关 时间:
2018-01-15 00:26:13
阅读次数:
215
mingw的介绍: MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整的开源编译工具集,以适合Windows平台应用开发,且不依赖任何第三 ...
分类:
其他好文 时间:
2018-01-14 13:51:09
阅读次数:
147
GCC中的弱符号与强符号 我们经常在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将它们都初始化,那么链接器将A和B进行链接时会报错: [htm ...
分类:
其他好文 时间:
2018-01-11 19:09:23
阅读次数:
268
编译和运行 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,C#中只有CLR能识别的MSIL.另外还有啥链接器.汇编器.为了了便于理解我们可以 ...
分类:
其他好文 时间:
2017-12-23 11:51:35
阅读次数:
158
在编写程序时,将类中的函数成员的声明和定义分开,在头文件(.h)中进行声明,在源文件(.cpp)中进行定义 以及具体功能的实现。达到分离式编译的效果,提高代码的可读性。 自己在编写是程序时,程序显示没有错误,但是在生成时,产生了链接器工具错误LNK2005 的错误提示。这个错误 也会导致另外一个错误 ...
分类:
其他好文 时间:
2017-12-19 01:28:23
阅读次数:
90
在用gflags库时生成提示 无法解析的外部符号 __imp__PathMatchSpec 解决办法:Add “shlwapi.lib” to “Project - Property - Linker - Input - Additional Dependencies”. 即 项目属性 -》链接器-... ...
分类:
其他好文 时间:
2017-12-13 14:58:09
阅读次数:
194
Python解释执行原理 转自:http://l62s.iteye.com/blog/1481421 这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就 ...
分类:
编程语言 时间:
2017-12-03 16:29:33
阅读次数:
146
对于dll和lib两者的关系,需要理解的一个概念是编译时和运行时。 lib是编译时的东西,在lib里面包含了方法名和方法所在的dll名字,可以用dumpbin -all XXX.lib查看内容。 dll是运行时的东西,里面是方法的实体。可以通过depends查看里面的方法和引用的dll文件等。 举个 ...
分类:
其他好文 时间:
2017-12-01 13:30:07
阅读次数:
173
原文转自 http://www.cnblogs.com/hanxi/archive/2012/06/10/2544230.html 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的" 解决方法: 1.打开该项目的“属性页”对话框。 2 ...
分类:
其他好文 时间:
2017-11-29 16:24:58
阅读次数:
115