关于systemd sd-device source中使用的语法

问题描述 投票:0回答:1

所以,我在阅读 libsystemd 的源代码时发现了这一行,我认为这只能是某种晦涩难懂的诡计。

请有人解释一下。

链接:https://github.com/systemd/systemd/blob/32243272fff325fbdeb158817fe65d5337f0528d/src/libsystemd/sd-device/sd-device.c#L42

就是这一行,因此您无需打开链接即可阅读。

device = new(sd_device, 1);
其中
device
是在之前声明的,因为
sd_device *device;
并且
sd_device
是一种类型。

c syntax systemd
1个回答
0
投票

new
是一个宏,其中 sd_device 中的
type
device = new(sd_device, 1);
用作
sizeof(sd_device)
:

#define new(t, n) ((t*) malloc_multiply(n, sizeof(t)))
© www.soinside.com 2019 - 2024. All rights reserved.