2013-03-10 78 views
0

我想从批处理文件调用ICL,但似乎设置环境变量会杀死任何进一步的执行,所以例如我们不会看到下面的“第二行执行”:从Windows批处理文件调用Intel编译器

echo First line executed 
C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2012" 
echo Second line executed 
icl myCode.c 

这似乎没有任何文件;你有没有成功编写一个批处理文件来调用icl?一个简单的例子会很棒。谢谢!

+1

难道你不能复制/编辑ipsxe-comp-vars.bat的内容到你自己的批处理文件中,或者直接执行ipsxe-comp-vars.bat(而不是先调用cmd.exe)? – rene 2013-03-10 14:25:36

+0

是的,我的第一印象是要做到这一点,但英特尔有一些嵌套的批处理文件,除了授权问题之外,它最终会变得很难看。 @ jarmod使用call命令的建议很有用。 – elleciel 2013-03-10 15:00:18

回答

1

为什么要从CMD文件内的衍生命令外壳内执行BAT文件?

从批处理文件中调用批处理文件的常用方法是使用'call',例如'call ipsxe-comp-vars.bat intel64 vs2012'。

+0

哦!我不知道它是如何工作的。非常感谢你! – elleciel 2013-03-10 15:01:20