FILE * fd = fopen ("/tmp/12345","wb");
Run Code Online (Sandbox Code Playgroud)
如果我有变量fd
,我如何打印文件路径?(/tmp/12345) 在 Linux 环境中。
在C Linux中,有没有办法像等待信号一样SIGUSR1
并且SIGUSR2
不循环?
例如,在这段代码中,我等待SIGUSR1
或SIGUSR2
打印消息,但是当我想要时,我会在 true 时执行......
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void signal_callback_handler(int signum)
{
printf("Caught signal %d\n",signum);
}
int main()
{
signal(SIGUSR1, signal_callback_handler);
signal(SIGUSR2, signal_callback_handler);
while(1)
{
printf("Program processing stuff here.\n");
sleep(1);
}
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
我如何才能等待并且不做任何事情(在 true 时不做)直到SIGUSR1
或SIGUSR2
到达?
例如 :
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void signal_callback_handler(int signum)
{
printf("Caught signal %d\n",signum);
}
int main()
{
signal(SIGUSR1, signal_callback_handler);
signal(SIGUSR2, signal_callback_handler);
printf("this …
Run Code Online (Sandbox Code Playgroud) 如果我正在使用特定功能而不检查其返回值,我希望编译器发出错误。
我在Eclipse中使用GCC。
例如 :
int fun (){ return 3;}
void main ()
{
printf("%d",fun ());
}
Run Code Online (Sandbox Code Playgroud)
我调用该函数fun
并打印返回值,但不检查返回值。相反,我想强制执行以下操作:
int ret=fun();
if(ret != some_value) { /* Do something */ }
printf("%d",fun ());
Run Code Online (Sandbox Code Playgroud)
这可能吗?
当我运行时df -h
,我可以看到/dev
我使用 6M 且大小为 40M ,可用大小为 34M 。
我怎样才能用c代码获取这些信息?