c++ - 一個關於static語法的問題
習慣沉默
習慣沉默 2017-06-30 09:56:42
0
3
964

我盡量描述清楚問題,如有不清楚請留言,我會盡快回覆.
有以下聲明形式:

 typedef struct mr_dup_ops
    {
        /* 查询镜像状态 */
        int32_t (*dup_mirror_state_query)(uint32_t, mr_kern_mirror_state_query_req_t*);
        ……………………
        ……………………
      
    } mr_dup_owner_ops_t;

然後宣告

STATIC mr_dup_owner_ops_t g_local_mr_dup_ops = {
    .dup_mirror_state_query        = mr_ioctl_kern_mirror_state_query,
    ………………
    ………………
    };

接著假設有mr_dup_owner_ops_t的指標ops的話就可以透過 ops->dup_mirror_state_query來存取函數mr_ioctl_kern_mirror_state_query.

結構體mr_dup_owner_ops_t我能看懂是聲明了一組函數指針,那麼加STATIC 結構體 結構體名 ={.dup_mirror_state_query 這是什麼形式?

習慣沉默
習慣沉默

全部回覆(3)
我想大声告诉你

只是宣告變數 g_local_mr_dup_ops 的作用域為靜態的而已。 STATIC 應該是什麼宏,C/C++ 的關鍵字是小寫的。

学习ing

static 結構體A 變數a = { ..... }

定義一個A型別的變數a,靜態屬性,並使用{....} 初始化

Peter_Zhu

初始化部分的語法是gcc的擴展,叫做Designated Initializers.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板