Python, подпроцесс, devenv, почему никакой вывод?

Я боюсь, что Вы пытаетесь сделать, не будет просто работать в Java. Быть неспособностью для создания новых экземпляров универсальных типов является одним из тех, "должен иметь" функции, которые обеспечила.NET, в то время как Java просто отсутствует. Это приводит к "обходным решениям" как предложенные ранее. Проверьте ArrayList.toArray(T) как ссылка, как это может быть сделано: по существу необходимо будет передать ссылку на объект, который Вы пытаетесь создать так, чтобы Вы знали что класса инстанцировать во времени выполнения. Это - код от ArrayList.toArray(T):


public <T> T[] toArray(T[] a)
{
   if (a.length < size)
   {
      a = (T[]) java.lang.reflect.Array.
         newInstance(a.getClass().getComponentType(), size);
   }
   System.arraycopy(elementData, 0, a, 0, size);
   if (a.length > size)
   {
      a[size] = null;
   }
   return a;
}

6
задан SilentGhost 6 October 2009 в 13:49
поделиться

4 ответа

You should build the solution with msbuild.exe instead, which is designed to give feedback to stdout and stderr. msbuild.exe is located at

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe (to build a VS2005 solution) or C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe (to build a VS2008 solution)

Note that msbuild.exe does not take a /build switch like devenv.exe.

2
ответ дан 8 December 2019 в 04:30
поделиться

That's probably because the software you're running doesn't write to stdout or stderr. Maybe it writes directly to the terminal/console.

If that's the case you'll need some win32 api calls to capture the output.

0
ответ дан 8 December 2019 в 04:30
поделиться

Probably your problem is the same that the pipe's buffer fills up. Check this question for a good answer.

-2
ответ дан 8 December 2019 в 04:30
поделиться

Change it from 'devenv' to 'devenv.com'. Apparenty Popen looks for .EXEs first but the shell looks for .COMs first. Switching to 'devenv.com' worked for me.

devenv is significantly faster then msbuild for incremental builds. I just did a build with an up to date project, meaning nothing should happen.

devenv 23 seconds msbuild 55 seconds.

25
ответ дан 8 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: