的过程我用粗IDE(Microchip的MPLAB)在Windows XP C30工具链。 C编译器有一个非常嘈杂的输出,我无法控制,并且很难在输出窗口中发现实际的警告和错误。转发命令行参数在Python
我想编写一个Python脚本,它将接收编译器的参数,调用编译器使用相同的参数,筛选结果并将它们输出到stdout。然后我可以用工具链设置中的脚本替换编译器的可执行文件。 IDE调用我的脚本并接收过滤的编译器输出。
我执行编译器的代码如下所示:
arguments = ' '.join(sys.argv[1:])
cmd = '%s %s' % (compiler_path, arguments)
process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
的问题是,从参数报价是在脚本执行中所消耗,所以如果IDE叫我用下列参数的脚本:
的main.c -o “main.o”
的参数的值是
的main.c -omain.o
最明显的解决办法是加上引号整个参数列表,但是这需要在编译器IDE调用代码修改。我也尝试使用批处理文件,但它只能接受九个参数(%1到%9),并且编译器被调用了15个参数。
有没有一种方法完全相同的参数转发到从脚本的程序?
一个批处理文件,可以接受超过10个参数,查找使用SHIFT – 2009-11-03 08:42:49