我在Linux内核中看到了这段代码,但是我不能理解为什么在这里调用(void) f;。有什么想法吗?
/* start 'ping' in the background to have some kfree_skb events */
f = popen("ping -c5 localhost", "r");
(void) f;谢谢
发布于 2019-02-06 23:51:35
根据注释,这段代码使用popen启动后台进程。此函数用于将FILE *返回到管道的一端。
但是,此代码不使用f的值。通常,如果变量未使用,编译器将打印警告。在强制转换为void的表达式中使用f将使用f的值,但会显式丢弃该值,从而阻止打印警告。
https://stackoverflow.com/questions/54557497
复制相似问题