Программирование Windows с использованием вызовов функций mingw и system () - PullRequest
1 голос
/ 05 августа 2011

Я из среды программирования Unix и сталкиваюсь с уникальным поведением / проблемой при переносе моей системы с Unix на Windows.
[Я довольно новичок в разработке для Windows, поэтому приведенный ниже вопрос может показаться слишком очевидным.]

Я портирую, используя mingw, и проблема в том, что касается вызова «system ()» в Unix и опции WEXITSTATUS.


Вопрос

  1. В Unix для выполнения любых команд / скриптов у нас есть код, который использует системный вызов (). То же самое компилируется в mingw - но я хочу знать, есть ли какие-либо изменения в поведении между Unix- и Windows-версиями вызова system ().
    Windows-версия системного вызова () предоставляется в stdlib mingw, но не может получить точное поведение.

  2. Мой второй вопрос касается WEXITSTATUS. Обычно в Unix это используется вместе с командой system () для получения статуса выполненной команды.
    а. Можно ли сделать то же самое с system () stdlib из mingw?
    б. Как этого добиться?


Примечание:

Я читал о createProcess и его последующем использовании в сети - но моя идея состоит в том, чтобы продолжить работу с существующим кодом (используйте сам вызов system ()) и найти альтернативу WEIXTSTATUS.


Спасибо за вашу помощь / предложение заранее.

1 Ответ

3 голосов
/ 05 августа 2011

Смотрите здесь документацию по Win32 на system: http://msdn.microsoft.com/en-us/library/277bwbdz%28v=VS.100%29.aspx

Обратите внимание, что вызов system зависит от интерпретатора команд в системе, а cmd.exe (интерпретатор команд Windows) работает иначе, чем Unix Bash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...