Windows <sys/file.h> эквивалентный

Существует ли Win32, эквивалентный заголовочному файлу Linux? Я работаю над портом Linux to Windows (и в мой первый раз делая так), и он перестал работать на этом файле.

5
задан Adam Haile 29 March 2010 в 12:53
поделиться

2 ответа

При написании приложений WIN32API вы обычно #include - это включает большую часть Windows API в ваше приложение. Если вам нужно сократить некоторые из этих включений, #define WIN32_LEAN_AND_MEAN сотрет некоторые из наиболее непонятных вещей из библиотек Windows.

Какие функции вы пытаетесь преобразовать? Вероятно, это будет случай использования другой функции в WIN32; он сильно отличается от Linux / Unix / POSIX.

Пример: функция ReadFile () примерно эквивалентна read () с точки зрения общей идеи, но вызывающие сигнатуры сильно отличаются. Запись MSDN ReadFile () гласит:

Заголовок: WinBase.h (включая Windows.h)

4
ответ дан 14 December 2019 в 13:32
поделиться

Если вы переносите на Windows, было бы намного проще придерживаться межплатформенных стандартов , чем погружаться прямо в собственный порт Windows API (CreateFile и т. д.).

Я не знаю, какие функции есть в , он выглядит как часть стандартных файлов заголовков POSIX, но я не могу найти ссылку на него в исходники posix.

Существует несколько сред сборки, которые можно использовать для переноса приложений posix в Windows.

  • Если ваше приложение использует стандартную библиотеку C для таких вещей, как ввод-вывод файлов, Dev Studio должна поддерживать большую часть этого изначально. , например, имеет такие вещи, как fopen .
  • MinGW предоставляет набор инструментов, но использует среду выполнения Microsoft c, поэтому такие вещи, как pthreads, должны отсутствовать.
  • Cygwin - гораздо более совместимая среда сборки POSIX.
  • SUA - это собственное предложение Microsoft.
2
ответ дан 14 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

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