Question for Cranium about IDEs
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Установил я DevC++, в которой действительно есть настройка, которая отключает связь с определенными файлами. Так же как ты, установил Code::Blocks, который «привязал» к компилятору MinGW.
Скомпилировал несколько программ, создал проект, пустое консольное приложение, создал и запустил простой исходный файл.
Заметил странность — .exe файл пустого проекта «весит» до 6,5 Мб при компиляции с помощью конфигурации компилятора TDM-GCC 4.7.1 64-bit Debug и до 4,5 Мб при помощи TDM-GCC 4.7.1 32-bit Debug. Аналогичное приложение созданное в MS VS 2010 «весит» 94 Кб.
Может быть нужно сделать какие-то настройки?
Череп , если можешь подскажи, как подогнать эти две IDE так, чтобы они работали с оптимальными настройками.
MS VS 2010 при установке сразу использует оптимальные параметры, а в случае с DevC++ и Code::Blocks, я так понимаю, нужно поработать ручками и самому все настроить.
PS Кстати действительно после MS VS работать, а тем более отлаживать проект ОЧЕНЬ СЛОЖНО. (Например, неинициализированная переменная в программе, ни DevC++ ни Code::Blocks не выдают предупреждения и программа запускается и работает, хотя заведомо ведет к краху.)
Есть еще одна странность в DevC++, при переносе текста кода, допустим в пост на форум или наоборот копируешь код с форума, то русские буквы отображаются в виде «кракозябров»
Что это такое и как с этим бороться? :)
Заранее СПАСИБО!!!
Это не баг, это — фича ))) Если при копировании из Dev-C++ клавиатура переключена в русский, то кириллица копируется корректно.
Я особо в этом не разбирался... но кое что могу подсказать.
Во-первых, не надо сравнивать объём 32-битного и 64-битного приложения. 64-битное почти всегда будет больше. В двух словах объяснить сложно, но хотя бы прими во внимание размер адресов в машинных командах.
Во-вторых, MS VS по умолчанию использует динамическую линковку CRT. Это — раз. Также есть большое подозрение, что кроме этого ещё что-то линкуется динамически. Это — два. Что именно там происходит с динамической линковкой разбираться, честно говоря, лень.
В-третьих, сравнивать объёмы выходных файлов различных компиляторов, предназначенных для отладки, — некорректно. MS VS во внешних файлах ещё дополнительно держит отладочную информацию. Так что сколько там реально используется — одному Гейтсу известно.
Ради спортивного интереса откомпилировал Snake (всё — x64 release):
По умолчанию Dev-C++ в режиме Release не делает никаких оптимизаций. Т.е. компилятор запускается в режиме по умолчанию (ключами задаются только имена выходных файлов и каталоги для заголовочных файлов).
Code::Blocks по умолчанию в режиме Release включает оптимизацию -O2 и вычищает символы при линковке -s. Сразу заметна разница в размере файла.
Полное описание GNU GCC можно найти здесь. Всего 808 страниц — и все ключи от GNU Compiler Collection будут у тебя в руках.
Указание ключей для компилятора/линкера в Dev-C++ можно сделать либо на уровне проекта (меню Проект->Параметры проекта), при этом при переключении, допустим, из Debug в Release сделанные установки сбрасываются на установки по умолчанию, либо на уровне настроек по умолчанию (меню Сервис->Параметры компилятора). На счёт оптимальных настроек — см. руководство по GCC по ссылке выше.
Оптимальность параметров зависит от конкретной задачи. Но MS поработал в этом направлении больше )) Где-то прочитал фразу: В Линуксе настраивать можно всё. И вы БУДЕТЕ всё настраивать.
PS. А почему ты пользуешься версией TDM-GCC 4.7.1? Я уже давно проапгрейдил до 4.8.1. См. здесь.