嵌入式linux_C函数快速参考.docVIP

  • 3
  • 0
  • 约1.96万字
  • 约 16页
  • 2018-03-20 发布于河南
  • 举报
嵌入式linux_C函数快速参考

内存管理函数 相关函数: malloc 头文件 : #include stdlib.h 函数原型: void *malloc(size_t size); 函数说明: 分配内存 返回值 : 成功返回分配的内存的首地址 失败返回NULL 相关函数: free 头文件 : #include stdlib.h 函数原型: void free(void *ptr); 函数说明: 释放内存,参数ptr为函数malloc返回的指针,调用free后ptr所指向的内存会被系统回收。 返回值 : 无 相关函数: mmap(内存映射) 头文件 : #include unistd.h #include sys/mman.h 函数原型: void mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); 函数说明: mmap用来将某个文件映射到内存中,通过对内存的读写实现对文件的操作。 参数含义如下: start : 指向映射后的内存起始地址,通常设为NULL,表示让系统来选定映射地址。操作成功后,start里的值为映射后的内存首地址。 length : 指定文件中被映射的部分的长度,以字节为单位。0表示全部映射。 prot : 映射区域的使用方式,有以下选项 PROT_EXEC 映射区域可被执行 PROT_READ 映射区域可被读取 PROT_WRITE 映射区域可被写入 PROT_NONE 映射区域不能存取 flag : 设置映射区域的属性,有以下选项 MAP_FIXED 如果start指定的地址无法映射,则放弃映射 MAP_SHARED 对映射区域的修改会复制回文件,而且允许其他映射该文件的进程共享 MAP_PRIVATE 不会影响被映射的文件 MAP_ANONYMOUS 建立匿名映射,不涉及文件,无法和其他进程共享 MAP_LOCKED 将映射区域锁住 fd : 文件描述符,代表要映射的文件 offset: 文件映射的偏移量。通常设置为0,代表从文件开始处映射,offset 必须是分页大小的整数倍 返回值 : 无 相关函数: munmap 头文件 : #include unistd.h #include sys/mman.h 函数原型: int munmap(void *start, size_t length); 函数说明: 取消参数start所指向的映射内存。当进程结束时,内存映射会自动取消,但关闭对应的文件描述符不会取消映射 返回值 : 0 :操作成功 -1:操作失败,错误原因存于errno中 字符串处理函数 相关函数: bzero 头文件 : #include string.h 函数原型: void bzero(void *s, int n); 函数说明: 将参数s指向的内存区域前n个字节,全部设置为0 返回值 : 无 相关函数: memcpy 头文件 : #include string.h 函数原型: void *memcpy(void *dest, const void *src, size_t n); 函数说明: 拷贝src所指向的内存前n个字节到dest所指向的内存 返回值 : 返回dest的值 相关函数: memcmp 头文件 : #include string.h 函数原型: int memcpy(const void *s1, const void *s2, size_t n); 函数说明: 比较s1和s2所指向内存区域前n个字节 返回值 : 若完全相同则返回0。若s1指向的内存中的值大于s2指向的内存,则返回大于0的值,否则返回小于0的值 相关函数: memset 头文件 : #include string.h 函数原型: void *memset(void *s, int c, size_t n); 函数说明: 将参数s所指向的内存前n个字节以参数c填入 返回值 :

文档评论(0)

1亿VIP精品文档

相关文档