вобщем так сложилось что я пользуюсь приемущественно msvc. gcc только когда необходимо написать апликуху для микроконтроллера. но вот решил попробовать. собственно хочу услышать все "за" и "против". что мне не понравилось: - дурацкий вызов функций. аргументы в функции передаёт не пушем, а через mov [esp + ..], val. я х.з. может есть какие-то настройки компилятора чтобы более-менее оптимизировать код (-O не предлагайте - не помогает). - не знаю как для архитектуры x86, но для микроконтроллеров оптимизацию задавать нельзя вообще - иначе половина программы просто не будет работать. - не смог найти нормальную среду разработки. под "нормальной" я понимаю удобную навигацию по коду со всякими go to definition, open file и т.д. - почему-то стандарты языка С++ gcc и visual C отличаются. код написанный на gcc на vc, как правило, вообще не компилится. что мне понравилось: - поддерживает множество процессорных архитектур. пиши хоть под арм, хоть под авр. хотелось бы также услышать сравнительную характеристику gcc и msvc.
есть только один стандарт С++ и он поддерживается gcc сам юзал бы gcc если бы было нормальное IDE под винду
а если погуглить? вопрос в инете поднимался нцать раз ведь. ну, к примеру, чем плох codeblocks? нижеследующая фраза также верна: а код, написанный на vc, как правило, не компилится на gcc. но это не аргумент в пользу gcc, равно как и ваша фраза выше не явл. аргументом в пользу vc. у MS полно своих заморочек, прагм, своих "secured" ф-ций и соглашений. всё это никак не по стандарту С++.
varnie однако надо отметить, что microsoft-specific функции и расширения языка, очень удобны. всякие #pragma once, #pragma pack(), __asm, __asm{} и т.п. чем плох codeblocks поюзай немного msvc2008+VisualAssistX и ты поймешь чем он плох
cupuyc Для начала уточни версии обоих, они весьма отличаются. Это эффективнее для многих процессоров. под x86 никаких проблем с оптимизацией, под остальное - не пробовал. Ни фига себе! Да у MS самый юсабельный IDE из всех, что мне попадались (а попадалось - ох, много...) Правда я не пользуюсь большинством свистелок-перделок. А какой приличный IDE есть для gcc? Я в основном пользовался Eclipse и Code::Blocks, но до MS они честно говоря не дотягивают... Стандарт языка один - ISO/IEC 14882-2003. Если писать строго по нему - компилировать будут оба. (Ну, бывают редкие печальные исключения) Зависит от версий. Я бы сказал, что чисто оптимизирующая способность у gcc выше, но MS зато умеет отлавливать паттерны, за счет чего частенько выигрывает.
посылать меня в гугл за IDE не нужно. CodeBlocks, Eclipse, DevCPP я юзал и не в восторге от них. что касается фразы - это я вообще не понимаю к чему. именно их я и юзаю и особых нареканий у меня нет (нарекания, конечно, есть, но это по большому счёту мелочи). что же касается некомпилябельного кода, не знаю, насколько рабочий примерчик, но недавно я пытался скомпилить gcc'шную прогу и заметил такую проблему: Код (Text): for (int i = 0; ...){ ... } i = 3; в gcc такой код компилися (я не пробовал скомпилить, но сорцы были под gcc). но, в msvc код не компилится, т.к. переменная i вышла из зоны видимости. а как по стандарту?
Scope в циклах не компилируется по дефолтным опциям - опцию сменить на "как по старому" и всё компилится без проблем даже в 2008-м.
cupuyc >я не пробовал скомпилить, но сорцы были под gcc А, тогда понятно. gcc, так-же как и другие компиляторы, существовал ещё до принятия стандарта. Это под какую-нибудь 2.x версию.
cupuyc -mpush-args Какая версия GCC, кстати? Eclipse c последним CDT, IMHO, вполне приличное IDE, по указанным критериям.
В вмзуал студии работать без асистанса вообще не возможно, так что не надо нам сказки про серых бысков (кому возможно таму и кодеблока хватит)
Проблема в том что писать по стандарту не всегда получается. В стандарте к примеру не определены средства для указания выравнивания. И что делать если надо его указать? А расширения у всех разные - кто что сочинил, то и использует.
SPA Я слез с VAX года 4 назад. Лучше встроенный IntelliSense, который иногда иногда не выдаёт подсказки, чем VA, который иногда выдаёт неправильные подсказки. А в VS 2010 в VA будет уместной разве что раскраска кода и прочие второстепенные ф-ции.