LINUX.ORG.RU

GCC for Win32


0

0

Уже давно интересует... компилятор GCC для ВИнды настолько же полноценный как и для Линукса? можно, например, сорцы Линукса скомпилить с помощью GCC для Венды?

anonymous

Не занимайся онанизмом, а юзай бесплатные

Visual C++ Express + Windows Platform SDK 2003 SP1 + Windows Template Library

Все абсолютно бесплатно и для коммерческого использования (в отличие от сами знаете кого).

anonymous
()

> компилятор GCC для ВИнды настолько же полноценный как и для Линукса?

Для С и С++ - вполне.

> можно, например, сорцы Линукса скомпилить с помощью GCC для Венды?

Вряд ли.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

> Для С и С++ - вполне.

ну мне ни для чего больше и не надо :)

> Вряд ли.

жаль :(

anonymous
()
Ответ на: комментарий от anonymous

Конечно неполноценный.

Винде - виндовое, лялегу - лялеговое.

А вообще нужно делать по нормальному программы - которые компилируются и в Windows под VC++ и под лялег в гыцацах.

anonymous
()
Ответ на: комментарий от anonymous

Он и для лялега неполноценный.

Нужно было для КАЖДОЙ платформы делать ОТДЕЛЬНЫЙ форк gcc, чтобы откомпилировать OpenOffice!

Вот вам и вся говнокроссплатформенность

anonymous
()
Ответ на: комментарий от anonymous

> Вот вам и вся говнокроссплатформенность

гыгыгы. типа вантузоидная «кроссплатформенность» лучше? Типа «Наши приложения кроссплатформенны — запускаются на XP и 2003!»

annoynymous ★★
()
Ответ на: комментарий от anonymous

>> Нужно было для КАЖДОЙ платформы делать ОТДЕЛЬНЫЙ форк gcc, чтобы откомпилировать OpenOffice!

Что за бред?

Deleted
()

>> компилятор GCC для ВИнды настолько же полноценный как и для Линукса?

В том GCC, который идёт в составе MinGW - сам компилятор полноценный, но стандартная библиотека портирована не полностью (http://www.linux.org.ru/view-message.jsp?msgid=3019709). GCC из Cygwin'а сложно считать компилятором _под_винду_. Поддержка Win64 вообще только-только появилась и ещё очень очень экспериментальная (http://sourceforge.net/projects/mingw-w64/).

Deleted
()

>> можно, например, сорцы Линукса скомпилить с помощью GCC для Венды?

Где-то читал что под cygwin'ом можно собрать. Даже вроде кто-то gentoo собирал 8).

Deleted
()

Последний раз, когда я смотрел, g++4 под виндой не умел выбрасывать exception'ы из dll-ек, из-за этого приходилось с либами статически линковаться. Это как пример кричащей неполноценности.

anonymous
()
Ответ на: комментарий от anonymous

> GCC для винды это не полноценный GCC что ли??

"GCC для винды" есть как минимум 3 штуки. MinGW, Cygwin и SUA(Services for unix, бывший Interix).

У MinGW -- минимальные зависимости в рантайме, соответственно рантайм Mingw подпилен по сравнению с обычным GCC. Cygwin и SUA по идее должны работать с официальным GCC, и своей POSIX-подсистемой, в SUA свой велосипед и есть обёртка к msvc в стиле gcc.

GCC под винду работает хуже, чем под нормальный POSIX примерно по той же причине, что и msysgit чуть хуже native POSIX git.

GCC состоит из фронтэнда и бекэнда, разными процессами, между которыми данные передаются пайпами. В итоге, например, GCC проглатывает чудеса макропроцессора и шаблонов в KDE, а Sun-овский Forte C++ -- нет (ему нужно создавать временные файлы, которые обязательно должны поместиться в память).

На Win32 эти пайпы хреново сделаны. Хотя есть named pipes, похоже что в том же mingw пайпы имитируются временными файлами. Отсюда и тормоза, отсюда и неполноценность.

Ну и с исключениями тоже косяки есть, потому что надо или полностью реализовывать в виндовом рантайме SEH или допортировать нормально. Получается, есть MSVC рантайм с нормальным SEH и есть mingw рантайм со своим велосипедом. Разные рантаймы друг о друге ничего не знают.

anonymous
()
Ответ на: комментарий от Deleted

> В том GCC, который идёт в составе MinGW - сам компилятор полноценный, но стандартная библиотека портирована не полностью

смысл MingW'а не в том, чтобы корректно работали все POSIX'ивизмы (для этого есть тот же Cygwin). А в том, чтобы был обкоцанный GCC под виндой с минимальными зависимостями. Если писать на голом Win32 API/SDL/OpenGL, оно самое то.

anonymous
()
Ответ на: комментарий от anonymous

> Нужно было для КАЖДОЙ платформы делать ОТДЕЛЬНЫЙ форк gcc, чтобы откомпилировать OpenOffice!

Ничего, что OpenOffice на java написан?

anonymous
()
Ответ на: комментарий от Deleted

Это не бред. Это реальность.

У каждой платформы есть свои фичи.

Плюс гыцаца имеет под каждую платформу свои глюки.

Для того, чтобы оно смогло откомпилить OO - нужно было для каждой платформы форкать гыцацу.

anonymous
()
Ответ на: комментарий от anonymous

Идиот. Он 95% Ссы с крестами.

Ява там отключаема и используется в некоторых случаях - например HSQL DB Engine.

В 85 году, когда один мецец, увидев Microsoft Office, принялся писать его аналог, Ява в помине не было.

И Ссы с крестми тоже. Был чистый Си.

Иди учи учебники, школьнег!

anonymous
()
Ответ на: комментарий от anonymous

> Ничего, что OpenOffice на java написан?

Ничего, что на C++?

anonymous
()
Ответ на: комментарий от anonymous

>> Для того, чтобы оно смогло откомпилить OO - нужно было для каждой платформы форкать гыцацу.

И всё-таки вы бредите.

Deleted
()
Ответ на: комментарий от anonymous

>> смысл MingW'а не в том, чтобы корректно работали все POSIX'ивизмы (для этого есть тот же Cygwin).

POSIX тут не при чём. Я говорю про стандартные возможности STL. Как минимум локали и "широкосимвольные" потоки там не работают. Возможно что-то ещё. В принципе, если эти фичи не нужны - mingw вполне нормально можно использовать.

Deleted
()
Ответ на: комментарий от Deleted

с STL-ями тоже зоопарк, почти в каждом компиляторе есть своя реализация. Хотите нормальную реализацию всех фич STL -- возьмите нормальную реализацию STL, а не ту, что "из каропки".

anonymous
()
Ответ на: комментарий от anonymous

>>Вряд ли.

>мда. Возьми и попробуй, а не утверждай в стиле "может быть".

Ну просто много там всяких тонкостей, binutils, и прочее. Если собирается - только рад. Пробовать не буду - его и под линуксом собрать порой не получается.

Legioner ★★★★★
()

> компилятор GCC для ВИнды настолько же полноценный как и для Линукса?

mingw который. да, он довольно неплох

> можно, например, сорцы Линукса скомпилить с помощью GCC для Венды?

и получить vmlinux.exe ? :D

xydo ★★
()
Ответ на: комментарий от anonymous

>Нужно было для КАЖДОЙ платформы делать ОТДЕЛЬНЫЙ форк gcc, чтобы откомпилировать OpenOffice!

Это в недрах MS долгое время был форк MSVC++ для компилирования MSO. Не надо проецировать.

Absurd ★★★
()
Ответ на: комментарий от anonymous

>Visual C++ Express + Windows Platform SDK 2003 SP1 + Windows Template Library

Start -> Programs -> Visual C++ 9.0 Express Edition

You have not yet registered your copy of Visual C++ 2008 Express Edition. You must register the product now before you can continue to use it.

PS: Если бы не gcc, то они даже и не зачесались бы, так что плевать в колодец нехорошо.

Absurd ★★★
()
Ответ на: комментарий от Absurd

А тебе что, лишний раз влом серийник получить бесплатно?

Если у тебя фобии преследуют, что кто-то за тобой следит - ставь Visual C++ 2005 Express

anonymous
()
Ответ на: комментарий от anonymous

>А тебе что, лишний раз влом серийник получить бесплатно?

Под виндой всегда процентов десять программ которые были нужны когда-то не работают и чинить их влом.

Absurd ★★★
()
Ответ на: комментарий от anonymous

Для этого надо на live.com регистрироваться или как-то так. На куя это мне надо?

Впрочем, регистрироваться надо только чтобы ихнюю IDE использовать. Компилятор, отладчик и прочий инструментарий можно без проблем использовать.

anonymous
()
Ответ на: комментарий от anonymous

У меня все зарегено.

Это не больно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.