Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: C++. Совместимость.  (Прочитано 1794 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rokki_Joker

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
C++. Совместимость.
« : 20 Августа 2012, 23:27:05 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?
per aspera ad astra - через тернии к звездам

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #1 : 21 Августа 2012, 01:50:15 »
Может, если использовать кросс-компилятор. Но работать одновременно в Linux и Windows не будет.

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #2 : 21 Августа 2012, 07:04:14 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?

Не может, ибо оси используют разные системные вызовы.
Если приложение консольное, проще перекомпилировать исходник под нужную OS -
проблем не должно быть.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #3 : 21 Августа 2012, 10:40:06 »
Именно Linuxовое приложение на винде не запустится. В обратную сторону возможны варианты.

загрузить ELF в винде крайне проблематично =)
загрузить PE в Linux вполне возможно (см. wine)
загрузить PE/IL в Linux вполне возможно, просто хромает сильнее чем wine (см. mono)

На уровне исходников платформы хорошо совместимы. Очень много кроссплатформенных библиотек и фреймворков.

Вопрос на засыпку: оно реально н-нада?

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #4 : 21 Августа 2012, 11:08:56 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?

Такое возможно, если использовать кроссплатформенную библиотеку например GTK+, Qt, wxWidgets. Но компилировать все равно  придется для каждой операционной системы отдельно.
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн Rokki_Joker

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #5 : 21 Августа 2012, 22:32:38 »
Вопрос на засыпку: оно реально н-нада?
1. Да, возможно пригодится.
2. Я утоляю свою извечную жажду знаний:)

Такое возможно, если использовать кроссплатформенную библиотеку например GTK+, Qt, wxWidgets. Но компилировать все равно  придется для каждой операционной системы отдельно.
Спасибо. Попробую:)
per aspera ad astra - через тернии к звездам

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #6 : 21 Августа 2012, 23:56:25 »
1. Да, возможно пригодится.
2. Я утоляю свою извечную жажду знаний:)

К пункту № 2
А вот еще такой язык есть ocaml.
Я как-то из любопытства программку на нем написал клаcсичеcкую 'Hello world'
Откомпилил и в Ubuntu запустил. O'key!
Затем этот же файл переименовал в hello.exe и запустил его в винде.
Работает!
Одно но. Ocaml предоставляет два способа компиляции:
в байт-код и нативный код (который в несколько раз быстрее).
Ну вот - окамльский  байт-код одинаково, хорошо выполняется
как в Ubuntu, так и венде.

Оффлайн Rokki_Joker

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #7 : 22 Августа 2012, 01:56:26 »
1. Да, возможно пригодится.
2. Я утоляю свою извечную жажду знаний:)

К пункту № 2
А вот еще такой язык есть ocaml.
Я как-то из любопытства программку на нем написал клаcсичеcкую 'Hello world'
Откомпилил и в Ubuntu запустил. O'key!
Затем этот же файл переименовал в hello.exe и запустил его в винде.
Работает!
Одно но. Ocaml предоставляет два способа компиляции:
в байт-код и нативный код (который в несколько раз быстрее).
Ну вот - окамльский  байт-код одинаково, хорошо выполняется
как в Ubuntu, так и венде.

Хм, интересно. Может где-нибудь сгодится. Спасибо.
per aspera ad astra - через тернии к звездам

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #8 : 22 Августа 2012, 08:37:41 »
Вопрос на засыпку: оно реально н-нада?
1. Да, возможно пригодится.
2. Я утоляю свою извечную жажду знаний:)
...
оно нафиг никому не надо. Всегда есть способы проще.
И, я тебя умоляю, изучай вопрос не взрывая мозги людям =)

P.S. прогнозирую срач на тему какой язык/вм лучше страниц на десять в этой ветке. Первый пост уже есть.

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #9 : 22 Августа 2012, 08:59:53 »
P.S. прогнозирую срач на тему какой язык/вм лучше страниц на десять в этой ветке. Первый пост уже есть.

Для определенного класса задач один язык лучше, другой хуже.
ЯП - всего лишь инструмент. Мне к примеру Forth очень нравиться, но
GUI приложение на нем писать не удобно.
« Последнее редактирование: 22 Августа 2012, 09:12:46 от Señor_Gaga »

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Re: C++. Совместимость.
« Ответ #10 : 22 Августа 2012, 13:26:32 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?
Не может, ибо оси используют разные системные вызовы.
Может. 7-ка ультимэйт включает в себя Linuxовайн. :D

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #11 : 22 Августа 2012, 15:46:13 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?
Не может, ибо оси используют разные системные вызовы.
Может. 7-ка ультимэйт включает в себя Linuxовайн. :D
Давай, сказал А, говори Б.
Ссылки в студию

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Re: C++. Совместимость.
« Ответ #12 : 23 Августа 2012, 06:42:37 »
Здравствуйте. Вопрос такой: может ли программа на c++ скомпилированная в linux работать под windows(xp и/или 7)? И если такое возможно, то как этого достичь?
Не может, ибо оси используют разные системные вызовы.
Может. 7-ка ультимэйт включает в себя Linuxовайн. :D
Давай, сказал А, говори Б.
Ссылки в студию
http://ru.wikipedia.org/wiki/Windows_7#.D0.A0.D0.B5.D0.B4.D0.B0.D0.BA.D1.86.D0.B8.D0.B8
http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B_Microsoft_Windows_%D0%B4%D0%BB%D1%8F_UNIX
Хотя, конечно, есть существенные нюансы. ;-)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++. Совместимость.
« Ответ #13 : 23 Августа 2012, 07:13:36 »
Vovaldo,
ой, ты такой наивный ажно умиляюсь.
это сосвместимость на уровне исходных текстов =)
ELF оно не грузит =) а мы какраз о них говорим
Цитата по приведенной тобой ссылке.
Цитировать
Естественно, форматы исполняемых файлов Windows и Unix по-прежнему остаются несовместимыми.

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Re: C++. Совместимость.
« Ответ #14 : 23 Августа 2012, 07:24:30 »
Vovaldo,
ой, ты такой наивный ажно умиляюсь.
это сосвместимость на уровне исходных текстов =)
ELF оно не грузит =) а мы какраз о них говорим
Цитата по приведенной тобой ссылке.
Цитировать
Естественно, форматы исполняемых файлов Windows и Unix по-прежнему остаются несовместимыми.
Ну, во-первых, я говорил о нюансах. Во-вторых, если уж совсем придираться к деталям, то у топикстартера, между прочим, написано "в linux", а не "для linux", так что вариант с кроссплатформом формально катит. Ну и в концовке, если уж на то пошло, то и в Linuxе вовсе не непосредственно Windowsный экзешник "запускается", между прочим.

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.