Self-cultivation
glp_hit
IT菜鸟
展开
-
为什么32位操作系统最多只能用到4G内存
最近实验室购进的服务器内存已达到8G,那么经常听zj讲如果安装原有的32位操作系统,那么只能用到4G内存,剩下的内存就浪费了,如果安装64位操作系统,虽然有些程序的兼容性需要重新审核,但确可以充分利用服务器资源。为什么32位OS只能用到4G内存呢?这和计算机的地址空间有关。对于32位的地址空间,大小为2的32次方,也就是从Ox00000000~OxFFFFFFFF 共计 4294967296原创 2013-04-01 09:41:14 · 8188 阅读 · 1 评论 -
char[] 与 char *区别
我们让:char* a ="aaa" char a[] = "bbb"1. 赋值阶段不同char a[] 是在运行时赋值char* a 在编译时确定的2. 存取效率char a[] 读取时直接把字符串中元素读到寄存器char *a 要先读指针值,然后从指针中读取字符,显然慢得多3. 数据类型不同数组可以自动转换为指针,而指针不能转成数组字符串等价于字符数原创 2013-05-17 22:21:01 · 1198 阅读 · 5 评论 -
动态链接 静态链接
本文主要内容:什么是动态链接、静态链接?静态链接、动态链接的优缺点是什么?1. 什么是静态链接、动态链接静态链接:静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。动态链接(Dynamic Linking):相对于静态链接而言,要等到程序运行时再将组成程序的目标文件进行链接的原创 2013-04-17 22:24:16 · 1147 阅读 · 2 评论 -
强符号 弱符号
本文的主要内容包括符号指的是什么?为什么要存在强符号,弱符号,什么是强引用、弱引用,它们的作用是什么?最后介绍链接器的COMMON块机制(Common Block)。一、符号----链接的接口:在链接过程这种,目标文件之间相互拼合实际上是目标文件之间对地址的引用,即对函数和变量地址的引用。在链接中,我们将函数和变量统称为符号(Symbol),函数名或变量名就是符号名(Symbol Name原创 2013-04-11 19:36:31 · 3810 阅读 · 0 评论 -
谈谈编译后的目标文件
本为主要解决三个问题:什么是目标文件?目标文件的格式是怎样的?为什么要设计成这样的格式?什么是目标文件?目标文件就是源代码编译后但是并未进行链接的文件,比如windows下面的 .obj 和Linux下面的 .o 等。目标文件的格式?目标文件一般分成两种,windows下面的PE(Portable Executable)和Linux下面的 ELF(Executable Linka原创 2013-04-09 16:57:19 · 1446 阅读 · 3 评论 -
C++ const 和 static 用法
static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。static 的两大作用:一、 控制存储方式:static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。1、引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函转载 2013-04-02 10:50:18 · 977 阅读 · 2 评论 -
程序由源码->可执行文件 编译+链接 流程
预编译:处理以#开始的预编译指令 删除注释 添加行号标识 处理宏定义 编译: 词法分析、语法分析、语义分析、优化 --> 产生汇编代码汇编: 汇编代码 --> 机器指令链接: 模块拼接、静态链接;每个模块独立编译,然后按需“组装”起来原创 2013-04-02 11:08:16 · 782 阅读 · 1 评论 -
计算机的“层”概念
“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”“Any problem in computer science can be solved by another layer of indirection.”这句话原本是描述计算机系统软件体系结构采用的一种层结构,那我把这种层结构理解为两个方面,一个是它的本意方面:计算机系统软件结构;另外一个方面:其他领域的计算机应原创 2013-03-31 20:50:46 · 2581 阅读 · 0 评论 -
为什么是“多核”处理器
随着电子设备配置的不断发展,多核处理器已经很普遍的应用于计算机和手机领域,那么为什么要用多核处理器,为什么不继续提升CPU的频率,多核处理器真的能成倍的增加运算效率吗? 在过去的五十年,CPU的频率从几十KHz到现在的4GHz,提高了几十万倍。平均没18个月翻一番。但是自2004年以来,这种规律似乎已经失效。CPU的频率开始没有质的提高。原因是人们在制造CPU工艺方面已经达到了物理极限。原创 2013-03-31 19:40:33 · 1142 阅读 · 0 评论