0
我正在阅读Mach Ports的代码,我想知道一段代码的范例。我的意思是我知道Objective-C的结构的语法,但我不知道什么语法message.header = (mach_msg_header_t) {......};
这个代码在Objective-C或C语言中的规则语法是什么?
完整的代码如下。
natural_t data;
mach_port_t port;
struct {
mach_msg_header_t header;
mach_msg_body_t body;
mach_msg_type_descriptor_t type;
} message;
message.header = (mach_msg_header_t) {
.msgh_remote_port = port,
.msgh_local_port = MACH_PORT_NULL,
.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, 0),
.msgh_size = sizeof(message)
};
'(mach_msg_header_t)'是类型转换。 –
@KlasLindbäck谢谢,但我知道这是一个类型演员。所以我想知道代码(mach_msg_header_t){ .msgh_remote_port = port, .....};是一个函数?或结构?和“.msgh_remote_port”是什么意思?我很困惑。 –
它似乎是结构字段分配。 'mach_msg_header_t'结构具有名为'msgh_remote_port','msgh_local_port'等字段。 –