This question already has answers here:
What does casting to `void` really do?
(4个答案)
9个月前关闭。
我在Linux内核中看到了这段代码,但是我无法理解为什么这里调用(void)f。知道吗?
谢谢
(4个答案)
9个月前关闭。
我在Linux内核中看到了这段代码,但是我无法理解为什么这里调用(void)f。知道吗?
/* start 'ping' in the background to have some kfree_skb events */
f = popen("ping -c5 localhost", "r");
(void) f;
谢谢
最佳答案
根据注释,这段代码使用popen
启动后台进程。此函数将FILE *
返回到管道的一端。
但是,此代码不使用f
的值。通常,如果变量未使用,编译器将打印警告。在一个表达式中使用f
本身casted tovoid
使用f
的值,但显式丢弃该值,从而防止打印警告。
关于c - C编程调用FILE *变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54557497/
10-10 19:18