请教关于c语言问题

[复制链接]
查看11 | 回复3 | 2021-1-27 06:30:17 | 显示全部楼层 |阅读模式
今天在看linux内核usb驱动代码中,遇到一个问题,请各位指点:
structusb_device_idcypress_usb_ids[]={
#include"unusual_cypress.h"
{}/*Terminatingentry*/
};
其中unusual_cypress.h是这样的,其实就是一个两个宏定义,但在上面一个结构体中,#include一个头文件,怎么对结构体赋值啊?
#ifdefined(CONFIG_USB_STORAGE_CYPRESS_ATACB)||\
defined(CONFIG_USB_STORAGE_CYPRESS_ATACB_MODULE)
/*CY7C68300:supportatacb*/
UNUSUAL_DEV(0x04b4,0x6830,0x0000,0x9999,
"Cypress",
"CypressAT2LP",
US_SC_CYP_ATACB,US_PR_DEVICE,NULL,0),
/*CY7C68310:supportatacbandatacb2*/
UNUSUAL_DEV(0x04b4,0x6831,0x0000,0x9999,
"Cypress",
"CypressISD-300LP",
US_SC_CYP_ATACB,US_PR_DEVICE,NULL,0),
#endif/*defined(CONFIG_USB_STORAGE_CYPRESS_ATACB)||...*/

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:30:17 | 显示全部楼层
头文件里的两个宏展开后,就是对结构体值。
回复

使用道具 举报

千问 | 2021-1-27 06:30:17 | 显示全部楼层
楼上正解。#include理解成将文件内容插入在标记处就行了。
回复

使用道具 举报

千问 | 2021-1-27 06:30:17 | 显示全部楼层
1楼正解,多看就明白了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行