C-код в Linux для C-код в Windows - PullRequest
1 голос
/ 26 мая 2010

У меня есть код, написанный на C, который работает в Linux. Я хочу, чтобы эта программа работала в Windows. Есть ли какие-либо различия, которые я должен внести в код?

Это код для связи Сервер / Клиент с использованием сокетов, взятых отсюда: http://www.linuxhowtos.org/C_C++/socket.htm

Ответы [ 4 ]

2 голосов
/ 26 мая 2010

Вы можете скомпилировать свой код в Cygwin или MINGW , оба из которых обеспечивают определенную степень сопоставления системных вызовов системы Linux с вызовом Windows Вы можете вообще не переписывать что-либо.

1 голос
/ 26 мая 2010

Если коротко взглянуть на ту статью, на которую вы ссылаетесь, то обнаружите несколько вещей, которые, вероятно, придется изменить (при условии, что вы собираетесь использовать что-то вроде Visual Studio для его создания):

  • Заменить read на recv
  • Заменить write на send
  • Заменить bzero на memset
  • Добавить вызовы на WSAStartup и WSAShutdown
1 голос
/ 26 мая 2010

Вам придется перенести код Linux на Windows. Есть различия между сокетами Linux и Windows. Вы можете проверить эту страницу для получения дополнительной информации.

Кроме того, это поможет вам с некоторыми портированием.

0 голосов
/ 26 мая 2010

Много! Марк сказал, что лучше, чем кажется. Однако recv и send все еще работают в дескрипторе файла. Хуже всего то, что не хватает возможностей GNU, таких как временная структура, без использования ужасных окон.

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