亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1624 | 回復(fù): 7
打印 上一主題 下一主題

弱弱的求助!(關(guān)于結(jié)構(gòu)體聲明和定義的問(wèn)題) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2006-03-15 09:48 |只看該作者 |倒序?yàn)g覽
#define MAX_ORDER 10

typedef struct free_area_struct {
        struct list_head        free_list;
        unsigned int                *map;
} free_area_t;

struct pglist_data;//此處是什么意思。為什么在下面才定義。。為什么不直接在這個(gè)地方定義這個(gè)結(jié)構(gòu)>?
typedef struct zone_struct {
        /*
         * Commonly accessed fields:
         */
        spinlock_t                lock;
        unsigned long                offset;
        unsigned long                free_pages;
        unsigned long                inactive_clean_pages;
        unsigned long                inactive_dirty_pages;
        unsigned long                pages_min, pages_low, pages_high;

        /*
         * free areas of different sizes
         */
        struct list_head        inactive_clean_list;
        free_area_t                free_area[MAX_ORDER];

        /*
         * rarely used fields:
         */
        char                        *name;
        unsigned long                size;
        /*
         * Discontig memory support fields.
         */
        struct pglist_data        *zone_pgdat;
        unsigned long                zone_start_paddr;
        unsigned long                zone_start_mapnr;
        struct page                *zone_mem_map;
} zone_t;

#define ZONE_DMA                0
#define ZONE_NORMAL                1
#define ZONE_HIGHMEM                2
#define MAX_NR_ZONES                3

/*
* One allocation request operates on a zonelist. A zonelist
* is a list of zones, the first one is the 'goal' of the
* allocation, the other zones are fallback zones, in decreasing
* priority.
*
* Right now a zonelist takes up less than a cacheline. We never
* modify it apart from boot-up, and only a few indices are used,
* so despite the zonelist table being relatively big, the cache
* footprint of this construct is very small.
*/
typedef struct zonelist_struct {
        zone_t * zones [MAX_NR_ZONES+1]; // NULL delimited
        int gfp_mask;
} zonelist_t;

#define NR_GFPINDEX                0x100

struct bootmem_data;  //此處又出現(xiàn)了同樣的問(wèn)題。但是在下面也沒(méi)有定義。。typedef struct pglist_data {
        zone_t node_zones[MAX_NR_ZONES];
        zonelist_t node_zonelists[NR_GFPINDEX];
        struct page *node_mem_map;
        unsigned long *valid_addr_bitmap;
        struct bootmem_data *bdata;
        unsigned long node_start_paddr;
        unsigned long node_start_mapnr;
        unsigned long node_size;
        int node_id;
        struct pglist_data *node_next;
} pg_data_t;
有知道的告訴我下。。謝謝了。

[ 本帖最后由 ianglm 于 2006-3-15 14:11 編輯 ]

論壇徽章:
5
2 [報(bào)告]
發(fā)表于 2006-03-15 11:00 |只看該作者
typedef struct zone_struct {
.....
struct pglist_data        *zone_pgdat;
.....
} zone_t;

typedef struct pglist_data {
        zone_t node_zones[MAX_NR_ZONES];
        zonelist_t node_zonelists[NR_GFPINDEX];
.....
} pg_data_t;


結(jié)構(gòu)體互相成為對(duì)方的成員變量.

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2006-03-15 12:44 |只看該作者
C語(yǔ)言問(wèn)題。
這里說(shuō)了struct pglist_data;下面就可以用
struct pglist_data        *zone_pgdat;
了。

BTW: 請(qǐng)寫(xiě)清楚題目

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2006-03-15 14:11 |只看該作者
原帖由 albcamus 于 2006-3-15 12:44 發(fā)表
C語(yǔ)言問(wèn)題。
這里說(shuō)了struct pglist_data;下面就可以用
struct pglist_data        *zone_pgdat;
了。

BTW: 請(qǐng)寫(xiě)清楚題目


不定義也可以用嗎?。。。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2006-03-15 14:14 |只看該作者
可以。 struct A;就是告訴編譯器: 嗯, 這個(gè)A雖然我還沒(méi)定義, 可它是個(gè)結(jié)構(gòu), 你注意了哈

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2006-03-15 14:17 |只看該作者
這是聲明和定義的區(qū)別.

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2006-03-15 15:31 |只看該作者
原帖由 albcamus 于 2006-3-15 14:14 發(fā)表
可以。 struct A;就是告訴編譯器: 嗯, 這個(gè)A雖然我還沒(méi)定義, 可它是個(gè)結(jié)構(gòu), 你注意了哈



如果你去講課的話,一定很幽默。。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2006-03-16 10:17 |只看該作者
連最基本的C語(yǔ)言還沒(méi)通,不知道怎么看內(nèi)核代碼,快去寫(xiě)點(diǎn)程序吧,或看點(diǎn)書(shū)。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP