通常,爲了初始化c中的struct
,我們只能指定部分字段。如下圖所示:如何在使用g ++編譯器時使用c風格初始化一個結構體?
static struct fuse_operations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};
然而,在C++中,我們應初始化在struct
變量不點名的字段。 現在,如果我想在使用g ++編譯器時使用c樣式初始化struct
,該怎麼做? PS:我需要這樣做的原因是struct fuse_operations
有太多的領域。
難道不可以使用extern c作爲工作嗎? – MimiEAM
@MimiEAM您需要將代碼放在C文件中,並使用基本上不同的編譯器進行編譯,即使它來自同一製造商。我肯定會避免這種情況。 – dasblinkenlight
所以這是一個不好的做法?因爲它被廣泛使用 – MimiEAM