在GNU系统中,malloc或realloc返回的内存块地址都是8的倍数(如果是64位系统,则为16的倍数)。如果你需要更大的粒度,请使用 memalign 或valloc。这些函数在头文件“stdlib.h”中声明。

在GNU库中,可以使用函数free释放 memalign 和valloc返回的内存块。但无法在BSD系统中使用,而且BSD系统中并未提供释放这样的内存块的途径。

函数:void *  memalign  (size_t boundary, size_t size) 
    函数 memalign 将分配一个由size指定大小,地址是boundary的倍数的内存块。参数boundary必须是2的幂!函数 memalign 可以分配较大的内存块,并且可以为返回的地址指定粒度。

函数:void * valloc (size_t size) 
    使用函数valloc与使用函数 memalign 类似,函数valloc的内部实现里,使用页的大小作为对齐长度,使用memalign来分配内存。它的实现如下所示: 
    void *
    valloc (size_t size)
    {
      return  memalign  (getpagesize (), size);
    }

linux memalign、valloc函数相关推荐

  1. linux c数字转字符串函数,Linux常用C函数—字符串转换篇

    Linux 常用C 函数-字符串转换篇 atof (将字符串转换成浮点型数) 相关函数 atoi ,atol ,strtod ,strtol ,strtoul 定义函数 double atof(con ...

  2. linux下syscall函数,SYS_gettid,SYS_tgkill

    出处:http://blog.chinaunix.net/uid-28458801-id-4630215.html linux下syscall函数,SYS_gettid,SYS_tgkill 2014 ...

  3. linux中probe函数传递参数的寻找(下)

    点击打开链接 linux中probe函数传递参数的寻找(下) 通过追寻driver的脚步,我们有了努力的方向:只有找到spi_bus_type的填充device即可,下面该从device去打通,当两个 ...

  4. linux中 probe函数的何时调用的?

    点击打开链接 linux中 probe函数何时调用的 所以的驱动教程上都说:只有设备和驱动的名字匹配,BUS就会调用驱动的probe函数,但是有时我们要看看probe函数里面到底做了什么,还有传递给p ...

  5. [C++] 为什么Linux需要itoa函数

    char buf[100]; for (int i = 0; i < 10000000; i++) {     itoa(12345, buf, 10); } 这段代码将耗时327毫秒. cha ...

  6. 每天学一点儿shell:linux中时间函数的date的用法

    文章目录 1.linux中date函数格式 2.date日期函数的具体用法 2.1.获取相应格式的日期 2.2.获取相隔时间段的日期 2.2.1.获取今天的日期 2.2.2.获取昨天的日期 2.2.3 ...

  7. linux下system函数的深入理解

    这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...

  8. linux '$^t' 时间,Linux C时间函数 time_t struct tm

    Linux C时间函数 time_t struct tm #include 关于时间的类型: time_t long型,表示从1970年1月1日到现在经过的秒数. struct tm { int tm ...

  9. Linux Kernel ‘_xfs_buf_find()’函数空指针引用拒绝服务漏洞

    漏洞名称: Linux Kernel '_xfs_buf_find()'函数空指针引用拒绝服务漏洞 CNNVD编号: CNNVD-201303-071 发布时间: 2013-03-06 更新时间: 2 ...

  10. Linux C 时间函数

    各种标准时间解释及主要Linux C标准时间函数说明 http://www.cnblogs.com/ziwuge/archive/2012/02/22/2364066.html 增加弥补mktime缺 ...

最新文章

  1. centos下添加管理员组和添加管理员用户及相关操作
  2. 纠缠于沉没成本—— 你为什么应该忽视过去
  3. Mac OS 如何连接windows 文件共享
  4. linux移植wifi sd8688.bin 最新固件,[ZZ]浅析firmware完整生存和使用流程
  5. jQuery文本动画效果
  6. mysql delimiter的作用_MySQL数据库中delimiter的作用概述
  7. 《浪潮之巅》完全系类——IT人士必读经典
  8. pytorch torch.stack
  9. 利用application在页面中显示访问次数
  10. c语言自动选课,C语言实现简单学生选课管理系统
  11. C语言之取反和取相反数
  12. Bitvise SSH Client连接Linux服务器教程和使用
  13. THUNLP发布《更多数据,更多关系,更多上下文与更多开放:关系抽取问题综述与前瞻》阅读笔记
  14. 北京航空航天大学计算机考研信息汇总
  15. android youtube webview,java - Android 6中的android webview youtube视频在全屏模式下出现问题 - 堆栈内存溢出...
  16. 南京理工大学计算机学院张勇,南京理工大学教师信息
  17. 199 c 通过函数名字符串调用函数
  18. PS For Mac 内含破解文件下载地址
  19. java注释【单行注释,多行注释,文档注释】
  20. 知到/智慧树——英语听说:实境主题与技能(参考答案)

热门文章

  1. Mapreduce基本工作流程
  2. mysql 修改字符集
  3. JDBC-连接数据库代码
  4. Hibernate事务管理-HibernateTransactionManager-对hibernate session的管理
  5. nginx upstream setting
  6. KVM(Keyboard、Video、Mouse)
  7. Can't connect to MySQL server on 'localhost' 10061
  8. 从零开始编写自己的C#框架(17)——Web层后端首页
  9. oracle 存储过程和函数例子
  10. 值得一读的《框架设计(第2版):CLR Via C#》