摘要: 阅读全文
posted @ 2016-12-31 10:54 好记性不如烂烂笔头 阅读(171) 评论(0) 推荐(0) 编辑
摘要: static_cast reinterpret_cast dynamic_cast const_cast 1.**static_cast 运算符完成相关类型之间的转换** 使用场景:如在同一类层次结构中的一个指针类型到另一个指针类型,整型到枚举类型,或者浮点型到整型等。 例: 1, int m=10 阅读全文
posted @ 2016-12-19 22:59 好记性不如烂烂笔头 阅读(4036) 评论(0) 推荐(1) 编辑
摘要: 将一个整数,比如1567898765转换为xxx.xxx.xxx.xxx的IP地址的形式, 以下是源代码 union IPNode{ unsigned int addr; struct { unsigned char s4,s3,s2,s1; };}; void PrintIP(unsigned i 阅读全文
posted @ 2016-12-13 21:07 好记性不如烂烂笔头 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 我们知道,可执行文件只有装载到内存以后才能被CPU执行。要了解装载的过程,就必须先了解进程的虚拟地址空间的概念。 一,进程虚拟地址空间的概念 1,进程和程序的区别 。。程序是静态的概念,是未装入内存的;进程是动态的概念,有时候也叫它“Runtime”,是已经装入内存并且跑了起来的。 2,进程虚拟地址 阅读全文
posted @ 2016-11-24 21:30 好记性不如烂烂笔头 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 一,COMMON块 什么是COMMON块,这是一种机制,早期的Fortran没有动态分配空间的机制,程序员必须事先声明它所需要的临时使用空间的大小。Fortran把这种空间叫做COMMON块,当不同的目标文件需要的COMMON块空间大小不一致时,以最大的一块为准。 关与强弱符号的定义我们已经学习过, 阅读全文
posted @ 2016-11-21 21:11 好记性不如烂烂笔头 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 在开始链接之前,我们先了解几个概念: 一》符号的概念。 我们知道,链接的最重要的是“对符号的重定位”,而且上面提到了符号表,那什么是符号呢,在链接中,我们将函数和变量统称为符号(Symbol)。函数名和变量名就是符号名(Symbol Name)。每一个目标文件都有一个相应的符号表(Symbol Ta 阅读全文
posted @ 2016-11-21 17:47 好记性不如烂烂笔头 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 针对这些问题,这次做一个补充: 一,可重定位文件的格式是什么,以main.o为例, 格式为ELF ,包括:{1,ELF Header 它描述了整个文件的文件属性,包括文件是否可以执行,是静态链接还是动态链接及入口地址(若是可执行 文件),目标硬件,目标操作系统等等。 2, .text(代码段) 按四 阅读全文
posted @ 2016-11-16 16:12 好记性不如烂烂笔头 阅读(190) 评论(0) 推荐(1) 编辑
摘要: C++开始,为什么要写这个东西,因为按照课堂进度的话,现在的C++已经学到模板以及重载了,有时却仍然因为一些小问题无法解答,原因是忘记了开始时学到的知识,深知不能像猴子掰棒子一样,掰一个扔一个,因此,现在踏踏实实的回顾一下。另外希望各位博友们随时指正,不甚感激! 前部分大概分为,1,深入编译链接。2 阅读全文
posted @ 2016-11-10 18:18 好记性不如烂烂笔头 阅读(211) 评论(2) 推荐(1) 编辑
摘要: 第三章,函数 字符串函数 //strcmp int my_strcmp(char *str1,char *str2) { while(*str1 = = *str2) /*不可用while(*str1++= =*str2++)来比较,当不相等时仍会执行一次++, return返回的比较值实际上是下一 阅读全文
posted @ 2016-06-23 17:07 好记性不如烂烂笔头 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 第二章 数组 一,定义: 数组是有序数据的结合,同一数据类型 整型数组 int arr[10]={0,1,2,4,5,6,7,8,9}; 字符数组 char str[6]={'h','e','l','l','o','\0'}; \0是结束标志,如果不加,系统会自动给后面补个\0 字符串 char s 阅读全文
posted @ 2016-06-20 01:13 好记性不如烂烂笔头 阅读(652) 评论(0) 推荐(0) 编辑