gpt4 book ai didi

c++ - 这里的 void cast 的目的是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:31 25 4
gpt4 key购买 nike

<分区>

我一直在查看 journalctl 代码并发现了以下代码块。

如果在测试条件时出现非零结果,这似乎是退出一系列条件测试的简写方式。相当聪明。

但我不确定 void 转换的目的。是为了抑制某些编译器输出吗?即使使用 -Wall-pedantic -pedantic-errors,g++ 也不关心任何一种方式。

m1 = strjoina("_SYSTEMD_UNIT=", unit);
m2 = strjoina("COREDUMP_UNIT=", unit);
m3 = strjoina("UNIT=", unit);
m4 = strjoina("OBJECT_SYSTEMD_UNIT=", unit);

(void)(
/* Look for messages from the service itself */
(r = sd_journal_add_match(j, m1, 0)) ||

/* Look for coredumps of the service */
(r = sd_journal_add_disjunction(j)) ||
(r = sd_journal_add_match(j, "MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1", 0)) ||
(r = sd_journal_add_match(j, "_UID=0", 0)) ||
(r = sd_journal_add_match(j, m2, 0)) ||

/* Look for messages from PID 1 about this service */
(r = sd_journal_add_disjunction(j)) ||
(r = sd_journal_add_match(j, "_PID=1", 0)) ||
(r = sd_journal_add_match(j, m3, 0)) ||

/* Look for messages from authorized daemons about this service */
(r = sd_journal_add_disjunction(j)) ||
(r = sd_journal_add_match(j, "_UID=0", 0)) ||
(r = sd_journal_add_match(j, m4, 0))
);

f (r == 0 && endswith(unit, ".slice")) {
...

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com