Здравствуйте, Андрей, Вы писали:
А>жаль только, что традиционно эти компиляторы не дружат с библиотеками от MS (MFC и ATL код отказываются компилять напрочь
)
Это интересное утверждение. Я могу понять ATL. Да там есть какой-то код, который они потенциально могут не мочь компилировать. Что же касается MFC, то насколько я помню, это не шаблонная библиотека и кода в заголовочных файлах там немного.
Я сейчас утверждать что либо не буду, так как давно не работал с ATL и MFC, но помню, что несколько лет назад мы замечательно компилировали проект где есть и ATL и MFC с помощью icl. Здесь главное не путать проблемы компиляции собственно MFT кода и кода написанного вами. А в случае шаблонов такой соблазн может быть, из-за не очень хорошо читаемой диагностики компилятора.
В любом случае, точно факт, что icl, в отличие от cl, старается быть максимально близким к ANSI. Поэтому, для уже сформированного проекта можно потратить много времени на переход с одного компилятора на другой.
Гораздо проще создавать ICL проект/группу проектов (если используется интегрированная среда) и, в его/ее рамках, явным образом пометить файлы, которые хочется компилировать тем или иным компилятором. См. документацию за точными названиями макросов передаваемых в командную строку.
В случае же make это еще проще.
Общий рецепт прост:
компилируем высоко-оптимизирующим компилятором, только код где действительно критична производительность, а обработку событий и кнопочки доверяем их родному компилятору безо всякой адаптации к новому.
Всего хорошего,
Костя.