File io OracleSolaris 11.2--简单文件I/O,抄送警告

File io OracleSolaris 11.2--简单文件I/O,抄送警告,file-io,solaris,opensolaris,File Io,Solaris,Opensolaris,它确实执行得很好,但警告是怎么回事?我没有足够的声誉来添加评论。。。这看起来确实像是解析器的编译器错误。使用更高版本的cc编译不会产生此错误 $ cc -errwarn=%all -o ~/tmp/aa ~/tmp/a.c warning: bad message tag: /export/home/rmashak/tmp/a.call $ cc -V cc: Sun C 5.12 SunOS_i386 2011/11/16 在输出中,cc显示的源文件名与“-errwarn”标记“all”的其

它确实执行得很好,但警告是怎么回事?

我没有足够的声誉来添加评论。。。这看起来确实像是解析器的编译器错误。使用更高版本的cc编译不会产生此错误

$ cc -errwarn=%all -o ~/tmp/aa ~/tmp/a.c
warning: bad message tag: /export/home/rmashak/tmp/a.call
$ cc -V
cc: Sun C 5.12 SunOS_i386 2011/11/16

在输出中,cc显示的源文件名与“-errwarn”标记“all”的其余部分连接在一起,奇数

该错误表示您已将无法识别的选项传递给-errwarn:

$ cc -V                                 
cc: Sun C 5.13 SunOS_i386 2014/10/20
$ cc -errwarn=%all -o ~/tmp/aa ~/tmp/a.c
$ 
在将命令传递给编译器之前,shell似乎以某种方式将命令中的
%
转换为
/export/home/rmashak/tmp/a.c
。看起来有些shell(如zsh)可能会扩展
%
符号,特别是在命令处理中-检查文档中使用的shell

如果您使用的是最新版本的Solaris Studio,
%
是可选的,以避免类似的问题-您可以将命令改为:

% cc -errwarn=%mumblefrotz -o hello hello.c
warning: bad message tag: %mumblefrotz

你在用什么编译器?我用编译器信息更新了我的问题。从文档()我敢说这是一个编译器错误。你能更新编译器吗?
% cc -errwarn=%mumblefrotz -o hello hello.c
warning: bad message tag: %mumblefrotz
cc -errwarn=all -o ~/tmp/aa ~/tmp/a.c