IT学习联盟

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
IT学习联盟 门户 文章 linux/unix 查看内容

Linux进程的内存管理

2012-8-17 16:55| 发布者: admin| 查看: 646| 评论: 0

 内存是计算机的敏感资源,能够熟练的掌握内存的操作是一个优秀的程序员必备的素质!
   
    数据的内部存储
   
    在c语言中,不同的数据类型占用的`空间是不同的,比如说一个char类型,占用的是一个字节长度,一个int 类型,一般占用的是4个字节(与系统有关)
   
    对于多个字节的的数据存储,数据存储的顺序就显得比较重要的了,一般来说,是有两种存储方式,一个是大端存储,另一个就是小端存储
   
    那么什么是大端存储,什么是小端存储呢?现在举例说明,
   
    例如,一个整型数据为a=0x12345678,如果是小端存储,则我们设置一个指针指向这个数据时,这个指针指向的的是78,也就是说,如果一个 整型数我们用四个字节来存储,我们的数的低位存储在内存的低位,数的高位存储在内存的高位,这就是低端存储,如果想反,则就是高端存储。根据这个解释,我们可以写下以下的代码,来测试自己的机器到底是低端存储还是高端存储。
   
    1 /*
   
    2  *  =====================================================================================
   
    3  *
   
    4  *       Filename:  test3.c
   
    5  *
   
    6  *    Description:
   
    7  *
   
    8  *        Version:  1.0
   
    9  *        Created:  2012年05月19日 00时48分26秒
   
    10  *       Revision:  none
   
    11  *       Compiler:  gcc
   
    12  *
   
    13  *         Author:  YOUR NAME (),
   
    14  *   Organization:
   
    15  *
   
    16  * =====================================================================================
   
    17  */
   
    18 #include <stdio.h>
   
    19 int main()
   
    20 {
   
    21     int a=0x12345678;
   
    22     char *p;
   
    23     p=(char *)(&a);
   
    24     if(*p==0x78)
   
    25         printf("the little endian\n");
   
    26     else
   
    27         printf("the big endian\n");
   
    28     return 0;
   
    29 }
Archiver|IT学习联盟| 网站地图

Powered by Discuz! X2.5© 2001-2010 世界学习室 大伟制作

GMT+8, 2018-8-16 04:17 , Processed in 0.081630 second(s), 12 queries .