ChinaUnix.net
相关文章推荐:

ATTRIBUTE PTR PRINTF 宏 使用

在 put_user() 和 get_user() 函数的定义中,都可以看到: __chk_user_ptr(x) 这个(内核版本: 2.6.31)。 查一下这个的定义是: # define __chk_user_ptr(x) (void)0 我不明白这里使用了 __chk_user_ptr(x) 这个的用处是什么? 如我在一个测试程序里,也模拟定义这样的一个,但是反汇编看了一下,也没有什么对应的汇编语句: [quote] m[3] = m[3] + 1; 80483d7: 8b 45 f0 mov -0x10(%ebp),%eax 80483d...

by beyes - 内核源码 - 2009-10-22 12:04:17 阅读(2164) 回复(0)

相关讨论

我想用__attribute__ ((packed)) 限定一格头文件中的结构按照字节对齐,不知道该如何做?! 请高手赐教!

by sleetboy - C/C++ - 2007-09-18 10:18:39 阅读(4758) 回复(4)

#include #include struct cona_t{ int i; int j; int v; char t[10]; unsigned short xy; }; struct cona_t ct; unsigned short xy; int main(int argc,char * argv[]) { int xy,z,addr1,addr2; struct cona_t * p; memset(&ct,0,sizeof(struct cona_t)); ct.i = ct.j = ct.v = 10; sprintf(ct.t,"%s","sdf"); ct.xy = 20; xy = &(((struct cona_t *)0)->j); z = &((&ct)-...

by hardie - Linux文档专区 - 2008-12-12 14:10:37 阅读(625) 回复(0)

__attribute__ 的语法为:__attribute__ ((语法列表)) 参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。 这个例子稍长了点,不过非常简单:[root@Kendo develop]# cat align.c#include struct A{ char a; int b; unsigned short c; long d; unsigned long long e; char f;}; str...

by binary_XY.Z - Linux文档专区 - 2009-10-29 14:46:57 阅读(574) 回复(0)

GNU C扩展的__attribute__ 机制被用来设置函数、变量、类型的属性,其用得较多的是处理字节对齐的问题。 __attribute__ 的语法为: __attribute__ ((语法列表)) 参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。 另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。 这个例子稍长了点,不过非常简单: [root@Kendo develop]# cat align.c [code]#include struct A{...

by wxju168 - Linux文档专区 - 2008-11-24 19:49:01 阅读(438) 回复(0)

__attribute__ 的语法为: __attribute__ ((语法列表)) 参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。 另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。 这个例子稍长了点,不过非常简单: [root@Kendo develop]# cat align.c [code]#include struct A{ char a; int b; unsigned short c; long d; unsigned long long e; ...

by I-linux - Linux文档专区 - 2008-10-31 11:32:01 阅读(514) 回复(0)

GNU C扩展的__attribute__ 机制被用来设置函数、变量、类型的属性,其用得较多的是处理字节对齐的问题。 __attribute__ 的语法为: [code]__attribute__ ((语法列表))[/code] 参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。 另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。 这个例子稍长了点,不过非常简单: [root@Kendo develop]# cat align.c [code]#include struct ...

by liao_cj - Linux文档专区 - 2008-01-22 09:40:05 阅读(569) 回复(0)

请问在c-shell中如何使用printf显示“·”字符(键盘上面和~共用一个键的那个字符)呢? 谢谢

by hellohgj - Linux论坛 - 2005-09-02 08:08:47 阅读(663) 回复(1)

请问在c-shell中如何使用printf显示“·”字符(键盘上面和~共用一个键的那个字符)呢? 谢谢

by hellohgj - Linux系统管理 - 2005-09-02 08:08:47 阅读(759) 回复(1)

在模块A中定义了一个函数 func,这个函数要在模块B中使用,但是模块A不一定会被加载到内核中,所以将函数 func声明为 一个weak符号 int __attribute__((weak)) func(const char *name, int flag); 在模块B中使用的时候,会做判断,再调用。 if (func()) func(name, flag); 现在遇到一个问题,有两套编译环境(都是mips的交叉编译环境),在第一套编译环境中编译后(mips-linux-gcc-4.3.3),加载模块B是正常的,在第二套...

by lixuli2001 - 内核源码 - 2013-11-21 16:40:55 阅读(1128) 回复(2)

GNU C扩展的__attribute__ 机制被用来设置函数、变量、类型的属性,其用得较多的是处理字节对齐的问题。 __attribute__ 的语法为: [code]__attribute__ ((语法列表))[/code] 参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。 另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。 这个例子稍长了点,不过非常简单: [root@Kendo develop]# cat align.c [code]#include struct ...

by rambo78 - Linux文档专区 - 2008-01-25 15:40:58 阅读(496) 回复(0)