随笔分类 -  基础知识

记录编程中的一些基础知识
摘要:1.GNU MAKE翻译 https://blog.csdn.net/xiejinfeng850414/article/details/8625468 2.Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明 http://blog.csdn.net/ 阅读全文
posted @ 2018-07-22 19:47 jasonactions 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1.前言 链接器的默认配置允许所有有效内存的分配,你可以使用MEMORY命令来重新定义它 2.MEMORY命令 MEMORY命令描述了一个内存块的位置和大小。你可以用它来描述哪块内存区域可以被链接器使用,哪块内存区域一定要避开。 你可以将段分配到特定的内存区域内,链接器会基于此内存区域设置段地址,如 阅读全文
posted @ 2018-01-23 17:26 jasonactions 阅读(436) 评论(0) 推荐(0) 编辑
摘要:1.前言 SECTIONS命令告诉链接器如何映射输入段到输出段以及在内存中如何放置输出段,SECTIONS命令的格式如下: sections-command可能是如下的一种: 一个ENTRY命令(看 Entry Command) 一个符号赋值(看 Assignments) 一个输出段描述 一个叠加描 阅读全文
posted @ 2018-01-23 11:58 jasonactions 阅读(381) 评论(0) 推荐(0) 编辑
摘要:1.前言 本章继续讲述简单脚本命令的后半部分 2.Assigning Values to Symbols 你可以给一个符号(symbol)赋值,它会把这些定义的符号放入全局符号表(symbols table)中 2.1 Assigning Values to Symbols 可以使用下面的C操作为一 阅读全文
posted @ 2018-01-23 10:34 jasonactions 阅读(406) 评论(0) 推荐(0) 编辑
摘要:1.前言 这个部分我们描述了简单的链接脚本命令 2.设置entry point 程序中第一条运行的指令被称为入口点entry point,可以使用ENTRY链接脚本命令设置entry point,参数是一个符号名: ENTRY(symbol) 有几种方法可以设置entry point,链接器会按照如 阅读全文
posted @ 2018-01-22 11:43 jasonactions 阅读(1763) 评论(0) 推荐(0) 编辑
摘要:1.前言 为了尽可能的与其它链接器兼容,GNU链接器ld涵盖了很多情况。因此,有很多选项可以控制链接器的行为。 2. 命令行选项概述 链接器支持很多命令行选项,在特定的上下文,实际应用中只有很少一部分被使用。举例来说,ld用来链接unix系统的标准的unix对象文件,在这个系统中链接文件hello. 阅读全文
posted @ 2018-01-22 10:29 jasonactions 阅读(381) 评论(0) 推荐(0) 编辑
摘要:1.前言 本文主要翻译了The Link Script英文文献。 (1)每个链接都是由链接脚本控制,链接脚本是用链接命令语言写的; (2)链接脚本的主要目的是描述输入文件的sections如何映射到输出文件的sections,并控制输出文件的内存分布; (3)必要时,链接脚本会指导连接器执行很多其它 阅读全文
posted @ 2018-01-04 20:01 jasonactions 阅读(778) 评论(0) 推荐(0) 编辑
摘要:1.前言 本文主要对MK64FN1M0xxx12_flash.ld文件进行分析,以此来加深对链接文件的理解 2.文件详解 the ‘-e’ entry command-line option; the ENTRY(symbol) command in a linker script; the val 阅读全文
posted @ 2018-01-04 16:52 jasonactions 阅读(5484) 评论(0) 推荐(0) 编辑
摘要:1.前言 本文主要讲述keil MDK 下STM32编译生成的的HEX镜像文件格式。并说明镜像load地址是如何添加进HEX文件的。 2.keil MDK如何在HEX文件中添加load addr 通过在keil mdk中进行如下的设置,则会将0x8019000的load addr加入到HEX文件中 阅读全文
posted @ 2017-08-01 11:53 jasonactions 阅读(6964) 评论(1) 推荐(1) 编辑
摘要:[转]http://blog.sina.com.cn/s/blog_4fd9844201010n3v.html 1.前言 指针的大小实际上是由CPU的寻址位数决定,而不是字长 2.基本术语(主要摘自百度百科) 字和字长 计算机在同一时间内处理的一组二进制数称为一个计算机的“字”,而这组二进制数的位数 阅读全文
posted @ 2017-07-04 09:34 jasonactions 阅读(723) 评论(0) 推荐(0) 编辑
摘要:1.前言 一个程序本质上都是由 BSS 段、DATA段、TEXT段三个组成的。 本文主要分编译时和运行时分别对 对data段 bss段 text段 堆 栈作一简要说明 2. 程序编译时概念说明 程序与编译后的目标文件有如下的对应关系: 图 C语言代码与目标文件的对应关系 2.1 bss段 bss段( 阅读全文
posted @ 2017-06-10 15:47 jasonactions 阅读(1297) 评论(0) 推荐(0) 编辑
摘要:【转】http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 1. 前言 (1)每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的se 阅读全文
posted @ 2017-06-07 14:53 jasonactions 阅读(527) 评论(0) 推荐(0) 编辑
摘要:[转]http://www.cnblogs.com/wuzhenbo/archive/2012/06/05/2537465.html 1.前言 在IBM开发社区上发现一篇叫'Data alignment: Straighten up and fly right'的文章,下面的很多内容都是来自那篇文章 阅读全文
posted @ 2017-06-05 15:50 jasonactions 阅读(582) 评论(0) 推荐(0) 编辑
摘要:声明:本文主要转载了http://coolshell.cn/articles/11377.html文章中关于 “零长度数组的内容”,在此对原作者表示感谢 1. 前言 首先,我们要知道,0长度的数组在ISO C和C++的规格说明书中是不允许的。这也就是为什么在VC++2012下编译你会得到一个警告:“ 阅读全文
posted @ 2017-04-17 11:01 jasonactions 阅读(2386) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示