通常,为了在C语言中初始化一个struct
,我们只能指定部分字段。如下所示:
static struct fuse_operations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};
然而,C++中我们应该在struct
中初始化变量时不命名字段。
那么,如果我想使用C风格来初始化一个struct
并使用g++编译器,该如何完成呢?PS: 我需要这样做的原因是struct fuse_operations
中有太多的字段。
extern "C"
并不能神奇地将编译器切换到C模式,也不能以某种方式允许您将C代码插入到C++翻译单元中。extern "C"
只能影响C++符号的链接方式。 - AnT stands with Russia