@beduin01

Совместимы ли С++ компиляторы?

По работе хотят заставить писать на С++. Я не люблю и не понимаю этот язык. До этого был небольшой опыт с C# и Python и D.

Отбрыкаться не получится. Проблема в том, что я вообще не знаю на сколько совместимы между собой компиляторы С++. Будут ли библиотеки от Borland C++ работать в Visual Studio C++?

Будут ли библиотеки написанные в Visual Studio C++ 0x13 (или как там оно называется), работать в предыдущих версиях?

Что вообще такое Visual С++ и чем оно отличается от того, который не Visual?

В чем проще всего делать графические приложения? На кросплатформенность -- пофигу. Главное максимальное удобство.
  • Вопрос задан
  • 2898 просмотров
Пригласить эксперта
Ответы на вопрос 5
AxisPod
@AxisPod
Всё зависит от ситуации, но если уж и делать гуишное приложение под win, то C# в большинстве случаев лучшее решение. А новичку вот так браться за C++ не стоит. C++ очень недружелюбен, хотя при этом и эффективен. По сути в этом и нужно убедить работодателя. У новичка будут большие проблемы при работе с памятью, будут утечки, будут обращения как удалённой памяти, будет проблема с временными объектами. Нативное GUI решение под win на С++ это MFC, я бы не посоветовал это трогать даже под дулом пистолета. С Qt конечно всё куда как проще, но это не избавит от проблем при работе с памятью. В итоге на разработку потратите время, а вот на допиливание, правку багов и т.д. потратите в несколько раз больше. С тем же .NET будет всё проще, если работодателя не устраивает производительность (на деле основной тормоз это JIT компилятор), так для этого есть родная утилита ngen, избавит от тормозов связанных с JIT компилятором.
Ответ написан
Комментировать
@mamkaololosha
Странный выбор. Почему не Java? Неужели на D нету GUI?
> Visual С++
Это IDE+компилятор от майкрософт.

> Borland C++ работать в Visual Studio C++
Скорее всего нет. Нужно перекомпиливать.

> В чем проще всего делать графические приложения
Qt, Java, .Net
Ответ написан
Комментировать
Boniface
@Boniface
Добрый день! Если говорить о компиляторах, например Visual C++ и GCC то они совместимы только на определенном уровне. В более менее крупных программах совместимости не будет. Так как есть разные типы данных, разные реализации библиотек и т.д.

По удобству на мой взгляд самая лучшая - это Visual C++ (Visual Studio) и C++ Qt. Какая из них лучше сказать не могу, что то удобнее в одной, что то в другой. Сейчас на подходе Clion - это IDE от JetBrains https://www.jetbrains.com/clion/ скачать можно бесплатно пока бэта версия.

В последнее время чаще слышу от профессиональных разработчиков на C++, что Qt - лучшая технология для разработки настольных, кроссплатформенных приложений
Ответ написан
@Kyberman
Компиляторы C++ совместимы на уровне исходного кода. То есть исходники, собирающиеся одним компилятором, будут собираться и другим (если конечно не используются нестандартные расширения), поскольку существует стандарт C++. А вот бинарной совместимости нет, то есть библиотеку просто так не подключишь к приложению, собранному другим компилятором - нужна перекомпиляция. Эту проблему можно обойти, если все экспортируемые функции объявлять extern "C", и использовать в параметрах только простые типы данных.

Между разными версиями одного и того же компилятора обычно тоже нет бинарной совместимости.

С++ - язык программирования. Visual С++ - IDE и компилятор от Microsoft.

Qt - пожалуй самый удобный способ делать GUI-приложения в C++.
Ответ написан
Комментировать
@DancingOnWater
Ответ на первый вопрос и второй: бинарно - точно нет. На уровне кода - возможно. Все зависит от степени поддержки той или иной версии компилятора версии стандарта, ну и от использования особых функций, макросов присутствующих только в данной версии или линейке компиляторов

Ответ про графические приложения: Удобнее всего с помощью Qt. О нем вы должны были слышать, работая на питоне.

UPD: почти забыл Visual C++ изобретение Microsft, позиционировавшую навороты Visual Studio как некую эволюционную ступень развития языка. Что они сейчас под ним подразумевают - одному Богу известно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы