当我编译以下程序时:
g++ -O2 -s -static 2.cpp它给了我警告ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result].
但是当我-02从copiling语句中删除时,没有显示警告.
我的2.cpp节目:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个警告的含义是什么,含义是什么-O2?
我有一个用c编写的沙箱代码.它中包含以下行:
msb.sbox.task.ofd = STDOUT_FILENO;.那是可执行文件的输出写入标准输出.我想改变它,所以输出被写入文件而不是.我试过这样做
FILE * fp;
fp=fopen("myf","w");
msb.sbox.task.ofd=fp;
Run Code Online (Sandbox Code Playgroud)
但是这给出了警告.warning: assignment makes integer from pointer without a cast [enabled by default]我怎么去做?