请教USB驱动编程 C语言的相关问题

内核编译和嵌入式产品的设计与开发
回复
头像
lovekid
帖子: 556
注册时间: 2007-03-05 11:43
联系:

请教USB驱动编程 C语言的相关问题

#1

帖子 lovekid » 2010-01-24 16:08

static void __exit usb_skel_exit(void)
{
/* deregister this driver with the USB subsystem */
usb_deregister(&skel_driver);
}

上面这个函数 __exit 是什么意思?有什么用?我记得C语言里定义函数不这样啊,盼望给解答下

还有

__u8 bulk_out_endpointAddr;

这个__u8是什么类型?在哪里定义的?怎么就是找不到?
头像
乌拉狸
帖子: 354
注册时间: 2007-09-22 19:36

Re: 请教USB驱动编程 C语言的相关问题

#2

帖子 乌拉狸 » 2010-01-24 16:52

这是宏定义啊~~用#define定义的宏啊~~

代码: 全选

__exit:
#define __exit  __attribute_used__ __attribute__ ((__section__(".exit.text")))
原始定义在include/linux/init.h
此宏定义可知标记后的函数与数据其实是放到了特定的(代码或数据)段中。
__exit修饰词标记函数只在模块卸载时使用。
  如果模块被直接编进内核则该函数就不会被调用。如果内核编译时没有包含该模块,则此标记的函数将被简单地丢弃。

代码: 全选

__u8:
#define __u8 unsigned char
__u8就相当于unsigned char啦~~
:em11
狸们移居火星了,改叫火星狸了~~~
头像
lovekid
帖子: 556
注册时间: 2007-03-05 11:43
联系:

Re: 请教USB驱动编程 C语言的相关问题

#3

帖子 lovekid » 2010-01-24 20:57

我去看看那本教程,同时也感谢 乌拉狸 同学的大力支持!

:em06
回复