[toc] 1. 下载 1. GNU Toolchain GNU 工具链里包含了汇编器, 编译器, 链接器, 调试工具等. 下载地址: https://developer.arm.com/tools and software/open source software/developer tools/ ...
分类:
系统相关 时间:
2020-01-20 00:22:51
阅读次数:
310
错误分析: 这是在链接过程中的报错,之所以在这里报错,而没有在编译过程中报错,说明包含报错方法的.h文件已经被包含了,但对应的cpp文件或者库文件链接器没有找到,所以它就很委屈地报了这个错误. 那会有哪些可能的原因导致这个问题呢? 1.缺少对应的cpp文件(比如下图中,在main.cpp中,添加了. ...
分类:
其他好文 时间:
2020-01-05 15:42:45
阅读次数:
122
操作系统如何加载程序 1.用户编写完代码后,通过编译器将编译为数据段、代码段、堆栈段、bss段,由链接器链接为装入模块 2.用户通知操作系统要运行的程序 3.操作系统根据路径找到对应的程序,检测程序的头部,找到代码段和数据段的位置 4.文件系统根据这些段的位置找到对应的磁盘块 5.操作系统创建进程( ...
分类:
其他好文 时间:
2020-01-04 10:52:35
阅读次数:
102
在我们日常的开发中,难免要使用别人封装的第三方库;那么接下来就跟着我一步步学习如何在VS编译器中调用第三方库吧。 我自己封装了一个简单的dll文件;函数如下所示: 头文件(.h) #ifndef _MYDLL_H #define _MYDLL_H #ifdef MYDLL_EXPORTS #defi ...
分类:
其他好文 时间:
2019-12-26 12:57:52
阅读次数:
82
一、剧情回顾 在上一篇链接器的秘密里面我们讲到我们用一些特殊的宏让链接器帮我们把一些初始化好的结构体列好队并安排在程序的某一个段里面,这里我例举出了三个和我们主题相关段的分布情况,它们大概如下图所示:(我们可以通过搜索宏ll_entry_declare来找到它们) 那么问题来了,那它们三个是什么关系 ...
分类:
其他好文 时间:
2019-12-23 18:42:38
阅读次数:
128
本描述了“RSDS”或“DS”类型的pdb(程序数据库)文件的格式,这些文件是由Miscrosoft的link.exe从版本7及更高版本发出的。 什么是PDB文件? 如果选择了/DEBUG选项或/DEBUG:FULL选项,则最新的Microsoft链接器将在链接时创建程序数据库(pdb)文件。pdb ...
分类:
数据库 时间:
2019-11-30 16:30:47
阅读次数:
185
C++中,内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。Windows下栈的大小为1M 项目-->属性-->链接器-->系统-->堆栈保留大小 可以设置栈的大小 栈 是一块连续的内存区域,由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变 ...
分类:
编程语言 时间:
2019-11-16 12:37:29
阅读次数:
70
程序解释器 可执行文件可以包含 PT_INTERP(ELF目标文件中段类型的一种)程序头部元素。在 exec() 期间,系统从 PT_INTERP 段中检索路径名,并从解释器文件的段创建初始的进程映像。 也就是说,系统并不使用原来可执行文件的段映像,而是为解释器构造一个内存映像。接下来是解释器从系统 ...
分类:
其他好文 时间:
2019-11-08 17:39:04
阅读次数:
92
本周速读了《深入理解计算机系统》这本书,这本书从程序员的角度介绍了计算机系统的内在运作,展示了一些本质概念是如何实际的影响应用程序的正确性、性能和实用性的。收获如下: 1、关于进程和线程 进程是操作系统对运行程序的一种抽象,是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位,是操作系统结构 ...
分类:
其他好文 时间:
2019-10-27 00:35:45
阅读次数:
96
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1、添加工程的头文件目录:工程 属性 配置属性 c/c++ 常规 附加包含目录:加上头文件存放目录。 2、添加文件引用的lib静态库路径:工程 属性 配置属性 链接器 常规 附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文 ...
分类:
其他好文 时间:
2019-10-23 21:51:13
阅读次数:
83