我打电话给cmd:
perl ScriptGen.pl Target.c %PreProcessorPath%\preproc.exe Arg1 Arg2 > clean.c
我得到的错误意味着Arg1和Arg2未正确传递给预处理器。
我想通过将目标文件和预处理程序路径本身作为perl脚本的参数来调用此perl脚本,而Arg1 Arg2是preproc理解的perl脚本的参数。
编辑:有一个
my $cmd = shift @ARGV
在脚本开始时解析参数,然后脚本使用它。
答案 0 :(得分:1)
这是我的建议:
您可以使用batchfile
而不是在一行中使用applications
的几个参数;
创建一个批处理文件 - scriptgen.bat
SETPATH=%PATH%;%PreProcessorPath%\preproc.exe
call preproc.exe %1 %2
rem %1 = Arg1 %2 = Arg1 %3 = Target.c
perl -w ScriptGen.pl %3 %1 %2 > clean.c
在MS-dos提示符下运行:
scriptgen.bat Arg1 Arg2 Arg3