Действительно ли возможно скомпилировать двоичные файлы Windows на машине Linux?

Другой ударили этого по голове:

  • стандартные аргументы main(int argc, char **argv) предоставляют Вам прямой доступ к командной строке (после того, как это искажалось и маркировалось оболочкой)
  • существует очень стандартное средство для парсинга командной строки: getopt() и getopt_long()

, но как Вы видели, код для использования их немного многословен, и вполне idomatic. Я обычно продвигаю его из представления с чем-то как:

typedef
struct options_struct {
   int some_flag;
   int other_flage;
   char *use_file;
} opt_t;
/* Parses the command line and fills the options structure, 
 * returns non-zero on error */
int parse_options(opt_t *opts, int argc, char **argv);

Затем первая вещь в основном:

int main(int argc, char **argv){
   opt_t opts;
   if (parse_options(&opts,argc,argv)){
      ...
   } 
   ...
}

Или Вы могли использовать одно из решений, предложенных в анализирующие Аргумент помощники для C/UNIX.

6
задан Peter Mortensen 6 September 2017 в 17:05
поделиться

3 ответа

Да, вы можете добиться этого, например, с помощью MinGW .

Однако вам, вероятно, придется изменить один или два параметра в вашем make-файле.

5
ответ дан 17 December 2019 в 00:11
поделиться

Вам понадобится пакет кросс-компиляции. Вы также можете использовать библиотеку Wine .

1
ответ дан 17 December 2019 в 00:11
поделиться

Я могу придумать несколько возможностей:

  • Вы можете попробовать запустить Visual Studio под Wine. Если Visual Studio не запускается, вы все равно можете запускать инструменты командной строки.

  • Запустите полную установку Windows на виртуальной машине. Я сделал это с Linux в Windows, но не наоборот, но я уверен, что это возможно.

  • Используйте VNC для доступа к отдельному ПК с Windows с ПК с Linux

  • Используйте кросс-сборку GCC вместо Visual Studio

1
ответ дан 17 December 2019 в 00:11
поделиться
Другие вопросы по тегам:

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