![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Вы еще подеритесь, горячие Эстонские парни
![]() gcc - Gnu Compilers Collection - набор компиляторов (и даже не gcc/g++, а гораздо больше), портированный почти подо все, что только можно. Код генерит в виде ассемблера, который (под именем gas) таскает с собой. Платформа, на которой работает сам gcc может не совпадать с платформой, под которую генерится код (это стандартный способ получения cross компиляторов). Для генерации объектных и исполняемых файлов используются утилиты из пакета binutils (в частности ассемблер и линкер), который портируется так же, как и сам gcc. В комплекте с gcc используются библиотеки для target платформы. Их 2 - библиотека поддержки самого компилятора (для С++ и других), и библиотека интерфейса с ОС (glibc, newlib или другие) Под Windows есть 2 версии gcc (и это разные target'ы!) - MingW - gcc генерирующий стандартный код для WinAPI и использующий стандартные библиотеки Windows, как платформы (берутся из Windows Platform SDK). Используется для компиляции обычных Windows програм Cygwin - это пакет, в состав которого входит gcc и библиотека, эмулирующая Linux окружение на Windows. Используется для компиляции программ из Linux под Windows (очевидно, не всех подряд программ. Есть немало ограничений) Это сообщение отредактировал(а) xvr - 12.4.2012, 14:26 |
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
xvr , Я как собака нюхом чуял ![]() прояснил спасибо, неясены пару моментов, зачем оно надо гораздо больше? для каких ? чего в gcc не хватает? для каких задач ? Я даже не знаю какая у меня версия gcc. как узнать ? и нафига мне он под винду? да ее и с глюками, Зачем все эти попытки притянуть за уши? под винду есть майкрософт компилятор родной, есть VC его и пользуйте, ну нету там пары фишек вроде typeof и что трагедия ? Это сообщение отредактировал(а) sergioK1 - 12.4.2012, 15:33 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Там разные языки: C/C++/Objective-C/ObjectiveC++/Fortran/Ada/Java gcc --version gcc - кроссплатформенный. Поэтому и применяют. Если ваше приложение должно работать не только на Windows, то gcc вполне нормальная альтернатива (хотя можно писать кроссплатформенные приложения и без привязки к компилятору). Ну и у gcc есть довольно много расширений языка, так что некоторые программы, которые этим пользуются, просто невозможно будет собрать под VS например. Но в общем и целом VS на Windows конечно гораздо более популярен, чем все разновидности gcc на нее же ![]()
Вы не поверите, но он весьма и весьма эффективный. При портировании меняется только кодогенератор, а все платформо независимые оптимизации в портировании не нуждаются. Кроме того, gcc специально заточен под быстрое и эффективное портирование под любые архитектуры - у него вся target зависимая часть отделена от собственно компилятора, и настраивается с помощью специального описания этой самой target архитектуры. Кстати, вот список архитектур (из сорцов gcc 4.1.0, просто под руками лежал) -
Это сообщение отредактировал(а) xvr - 12.4.2012, 15:34 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
в 4.7.х:
Это сообщение отредактировал(а) boostcoder - 12.4.2012, 16:02 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
а как же C++11 ? Я понимаю, что без него можно обойтись (обходились же как-то много лет))), но всё-таки поприятней будет на нём писать... нет ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
sergioK1 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
4.5.0 Я в смысле ,как узнать Cygwin или MinGW .
в консоле эклипса, ничего не показывает, только в Debug mode. переменные окружения выставил, иногда виснет при перекомпиляции , пробовал простейший CreateWindow запустить, так не линковался , плюнул в взял студию, Я где-то об этом спрашивал про эти чудеса , так послали в форум эклипса, stl в дебаге , смотреть не удобно, хотя и под Линукс не лучше, то там и выбора нет, не то что кривые руки, времени вошкаться не было Я такое зову - принцип KISS (keep it simple stupid),как у Страустроупа xvr, Вы счас смеяться будете , видел как сами разработчики под gcc пишут в студии , как это может быть ? Не успел спросить у них, |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
sergioK1, все описанное тобой, никак не относится к мингву. либо к еклипсу, либо к рукам)
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
что такое принцип KISS понял ? Даже не преставляю на чем кроме VC и Эклипсе можно работать под винду, щупал многих, Это сообщение отредактировал(а) sergioK1 - 13.4.2012, 10:18 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Он и это напишет по --version. Да и сами exe'ники могут именами отличаться (в MingW они будут содержать mingw в имени)
Ну я пишу. Создается проект типа 'make file'. Студии при этом говорят просто командную строку для сборки. У меня лично в этой командной строке записан батник, который через ssh отправляет сборку на Linux'овый сервер (сами исходники лежат на шаре, общей для Windows и Linux). Выхлоп от gcc конвертируется маленьким скриптом (на Perl'е), что бы VS поняла сообщения об ошибках, как родные ![]() Вот отлаживать из студии не получается пока ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |