
linux
MARS_Turing
自己喜欢就去干吧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内存对齐,关于__align(n)的解析
__align__align 关键字指示编译器在 n 字节边界上对齐变量。__align 是一个存储类修饰符。它不影响函数的类型。语法__align(n)其中:n是对齐边界。对于局部变量,n 值可为 1、2、4 或 8。对于全局变量,n 可以具有最大为 2 的 0x80000000 次幂的任何值。__align 关键字紧靠变量名称前面放转载 2017-08-15 15:12:05 · 9415 阅读 · 0 评论 -
C语言模块化程序设计
C语言模块化程序设计模块划分C语言模块化程序设计需理解如下概念: (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明; (2) 某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明; (3) 模块内的函数和全局变量需在.c文件开头冠以static关键字声明; (4) 永远转载 2017-09-07 22:29:29 · 6774 阅读 · 1 评论 -
C语言零长数组data[0]
1、前言 今天在看代码中遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0]。这样设计的目的是让数组长度是可变的,根据需要进行分配。方便操作,节省空间。2、data[0]结构经常遇到的结构形状如下:struct buffer转载 2018-03-15 09:49:40 · 9033 阅读 · 2 评论