为了编译C++项目,我想编写一个perl脚本来编译我的程序,看看编译是否出错.如果编译器给出任何编译错误,我将需要执行一些其他任务.
该perl脚本将是这样的:
@l1 = `find . -name '*.c'`;
@l2 = `find . -name '*.cpp'`;
@l3 = `find . -name '*.cc'`;
my $err;
my $FLAGS = "-DNDEBUG"
push(@l , @l1, @l2, @l3);
chomp(@l);
foreach (@l) {
print "processing file $_ ...";
$err = `g++ $_ $FLAGS`;
if($err == something) {
#do the needful
}
}
Run Code Online (Sandbox Code Playgroud)
那应该是什么东西?
你应该$?在之后检查g++....
$?最后一个管道关闭,反引号(``)命令,成功调用wait()或waitpid()或来自system()操作符返回的状态.
子进程的退出值确实如此
($?>> 8)
所以你应该检查是否g++返回0(成功)或non-zero.
if ($? >> 8) {
/* Error? */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |