Форум программистов, компьютерный форум CyberForum.ru

Объясните общие моменты: среда разработки, библиотеки и т.п - C++

Восстановить пароль Регистрация
 
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
16.08.2014, 23:20     Объясните общие моменты: среда разработки, библиотеки и т.п #1
Хочу начать изучение С++. На примере написания какого-нибудь приложения для Windows, с окнами и графикой. У меня есть Вижуал-студия 2005, писать планирую в ней.
На этом, собственно мои знания заканчиваются . Не будут ли любезны участники форума ответить на несколько моих глупых вопросов? Например, язык Microsoft Visual C++ 2005 - это С++ или нет, и сильны ли отличия? Позволяет ли язык/среда разработки подключать серьезные библиотеки, в т.ч. математические, или это не зависит? Сама студия как среда разработки годится для серьезных проектов (на будущее)? Насколько я понял, там по умолчанию стоит библиотека MFC - Майкрософт фаундэйшн класс, значит мой код не скомпилится на С++ билдере, или это неважно и на это можно не обращать внимание? Какую графическую библиотеку лучше взять (знаю что этот вопрос задавали до меня много раз, почитал темы, но может что-то еще скажете)? Ну и еще если у вас есть что сказать по теме, а я забыл это спросить или вообще не подозревал об этом, то будет интересно почитать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2014, 23:20     Объясните общие моменты: среда разработки, библиотеки и т.п
Посмотрите здесь:

C++ Среда разработки -
C++ Среда разработки
C++ Среда разработки
Объясните некоторые моменты в задаче C++
C++ Среда разработки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
16.08.2014, 23:46     Объясните общие моменты: среда разработки, библиотеки и т.п #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от _Ivana Посмотреть сообщение
Хочу начать изучение С++.
Читай Липпмана, Дейтелов, Прату или Страуструпа.

В шапке раздела есть список литературы.

Добавлено через 4 минуты
Цитата Сообщение от _Ivana Посмотреть сообщение
Microsoft Visual C++ 2005
Это интегрированная среда разработки (IDE - integrated development environment). IDE - это набор программ (отладчик, компилятор, текстовый редактор), позволяющих писать код на языке программирования С++. Если хочешь использовать IDE именно от Microsoft, то уж лучше скачай бесплатную Microsoft Visual Studio 2010.

Опять же, в шапке раздела есть список бесплатных IDE.

Добавлено через 7 минут
Цитата Сообщение от _Ivana Посмотреть сообщение
библиотека MFC
MFC, имхо, безнадёжно устаревшая тема. Для создания GUI (graphic user interface) лучше выбрать нормальный фреймворк. На мой взгляд, лучший выбор - Qt (тут на форуме по нему целый раздел).
А вообще, вот тебе списочек: Qt, wxWidgets, GTK+, Juce, WTL, HTMLayout, xuilib, Ultimate++.
Много их, всяких фреймворков для создания GUI.
Ещё, как вариант, можно посмотреть в сторону C++/CLI, либо C#. Можно замучить себя изучением WinAPI.
St1f1er
2 / 2 / 0
Регистрация: 08.08.2014
Сообщений: 14
16.08.2014, 23:50     Объясните общие моменты: среда разработки, библиотеки и т.п #3
Хочу начать изучение С++. На примере написания какого-нибудь приложения для Windows, с окнами и графикой. У меня есть Вижуал-студия 2005, писать планирую в ней.
На этом, собственно мои знания заканчиваются .
Яб на твоем месте начал изучение сразу с создания автопилота для шатла................
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
17.08.2014, 00:01     Объясните общие моменты: среда разработки, библиотеки и т.п #4
Цитата Сообщение от _Ivana Посмотреть сообщение
Ну и еще если у вас есть что сказать по теме, а я забыл это спросить или вообще не подозревал об этом, то будет интересно почитать.
Все твои вопросы как под копирку те же самые, что задают на этом форуме новички каждый день (наверное, с самого первого дня существования форума). Все они на счёт раз ищутся поиском по форуму. Все ответы на вопросы, которые ты задал, есть в литературе по С++ для начинающих.

Мораль: начни читать книжку по С++ и пользуйся поиском.
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
17.08.2014, 00:02  [ТС]     Объясните общие моменты: среда разработки, библиотеки и т.п #5
gru74ik, читаю в википедии что такое "фреймворк". То есть получается, что сама по себе IDE ничего не определяет, любой проект, созданный в одной можно открыть и пересобрать в другой, только добавить в него нужные библиотеки/компоненты?
ЗЫ про поиск и книжки понятно, но например без вашего ответа я бы первым делом нырнул с головой в изучение MFC, а оказывается это уже не модно...
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
17.08.2014, 00:12     Объясните общие моменты: среда разработки, библиотеки и т.п #6
Цитата Сообщение от _Ivana Посмотреть сообщение
gru74ik, читаю в википедии что такое "фреймворк". То есть получается, что сама по себе IDE ничего не определяет, любой проект, созданный в одной можно открыть и пересобрать в другой, только добавить в него нужные библиотеки/компоненты?
Да. За исключением некоторых специфических функций и макросов, присущих некоторым IDE.
Но это тебе сейчас не нужно, на мой взгляд. Это как в первом классе не зная ничего о натуральных числах и таблице умножения, спрашивать про интегралы и логарифмы. Начни с начала.
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
17.08.2014, 00:16     Объясните общие моменты: среда разработки, библиотеки и т.п #7
Об инструментах спрашивать бессмысленно, это слишком субъективно. Кому-то Visual Studio подавай, а кому-то Sublime Text хватит. Гораздо важнее изучать различные принципы, технологии и методологии программирования. Например, юнит-тестирование, TDD (это разные вещи!), контрактное программирование. Вот несколько ссылок:

http://********/9HghT
http://sergeyteplyakov.blogspot.ru/2...blog-post.html
http://avl2.info/index.php?option=co...&id=5&Itemid=8
http://www.slideshare.net/amritayan/...velopment-in-c
А также на мою подпись обратите внимание.
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
17.08.2014, 00:16     Объясните общие моменты: среда разработки, библиотеки и т.п #8
Цитата Сообщение от _Ivana Посмотреть сообщение
Например, язык Microsoft Visual C++ 2005 - это С++ или нет, и сильны ли отличия?
Компилятор в составе этой IDE реализует стандарт С++, плюс некоторые собственные расширения (расширения есть у любого компилятора). Стандарт там, сразу скажу, поддерживается не полностью (в целом это болезнь практически любого С++ компилятора, в том числе из-за сложности самого стандарта). Единственный компилятор, который официально был представлен, как полностью поддерживающий стандарт (C++03), это Comeau C++. Но в 11 году вышел С++, а вот уже почти на подходе С++14, так что полного соответствия от современных компиляторов еще долго нужно будет ждать.
А еще у студии (чем старее версия, тем больше) полно всяких багов, связанных с поддержкой стандарта, они конечно и у других компиляторов встречаются, но исправляются менее оперативно. Поэтому рекомендую использовать самую последнюю версию из доступных, на данный момент из бесплатных это VS 2013 Express.
Если хочется посмотреть что-то кроме студии, то рекомендую компилятор Clang++, выделяется отличной поддержкой стандарта, в том числе последних версий, и очень качественной диагностикой ошибок. Т.е. сообщения об ошибках действительно понятные. Совместим с gcc по ABI. К сожалению не знаю есть ли сейчас стабильная версия для windows, но на Linux доступен сейчас наверное на всех передовых (Ubuntu, Fedora, Debian, Suse).
Цитата Сообщение от _Ivana Посмотреть сообщение
Позволяет ли язык/среда разработки подключать серьезные библиотеки, в т.ч. математические, или это не зависит?
Обычно не зависит, только если это не какой-то проприетарный компонент, у которого нет открытых исходников и который собран исключительно под один единственный компилятор.
Цитата Сообщение от _Ivana Посмотреть сообщение
Сама студия как среда разработки годится для серьезных проектов (на будущее)?
Конечно годится. Но если есть возможность выбирать, то лучше ставить версию поновее.
Цитата Сообщение от _Ivana Посмотреть сообщение
Насколько я понял, там по умолчанию стоит библиотека MFC - Майкрософт фаундэйшн класс, значит мой код не скомпилится на С++ билдере, или это неважно и на это можно не обращать внимание?
Можно не обращать. Вообще Билдер - это параллельная вселенная. Т.е. это как бы С++, но как бы и Делфи Поэтому законы там слегка иные.
Кстати MFC - это исключительно windows. Просто имей это в виду.
Цитата Сообщение от _Ivana Посмотреть сообщение
Какую графическую библиотеку лучше взять (знаю что этот вопрос задавали до меня много раз, почитал темы, но может что-то еще скажете)?
Я буду рекомендовать Qt, в том числе потому, что для нее сейчас достаточно много вакансий. Особенно если разработка идет под *nix.
Andrej
И целого heap'а мало
 Аватар для Andrej
93 / 54 / 9
Регистрация: 31.07.2014
Сообщений: 293
17.08.2014, 00:18     Объясните общие моменты: среда разработки, библиотеки и т.п #9
_Ivana, лучше сразу ставь 13-ю визуалку. Да, моментами даже ещё 11-го года стандарт не допилили.
А так можно на нормальных крестах без мелкомягких наречий под ней писать.
Так накодил проектик на clang++ под линухом на 1к sloc, так хэдэр для обёртки различающихся мест всего в 100 sloc получился. Как начинаешь портировать, сразу вылазют виндовы костыли, но это тема холиварна.
А библиотеки в два тычка подключаются; нет такой, что живёт без howto для впиливания в визуалку.
Для графики qt - лучшее; не бери всякие wxwidgets, fltk и прочую белеберду.
А теперь очень имхо: если тебе прям приниципиально битики перекладывать, то да c++ - твой друг, но он тебя всё равно пристрелит. Пишешь под винды - шарпуй, ну, или джавуй, если под всё-всё-всё. А если так, для развития, то приятных бессонных ночей. =)
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
17.08.2014, 00:21  [ТС]     Объясните общие моменты: среда разработки, библиотеки и т.п #10
gru74ik, спасибо за отклик. Просто, насколько я ничего не знаю, язык это одно, операционная система - другое а библиотеки - третье. Еще и фреймворк - четвертое. И я не ожидал увидеть в книгах по языку ничего кроме языка. А вопросы мои вовсе не по языку как таковому, а по всему тому, что его окружает. Натуральные числа и таблицу умножения я почитаю, а также классы и прочие ООП-фишки. А когда в очередной раз покажу код, все скажут - тут нужной dll-ки нет, и ваще ВинАпи, MFC и 700 строк и не круто а надо Qt или что-то еще... Вы видели мою тему про тетрис? Там именно так и было. А так я и сейчас могу на чистом Си и ВинАпи писать простенькие игрушки.

UPD пока писал ответ, столько постов появилось - спасибо!
DrOffset
6458 / 3832 / 885
Регистрация: 30.01.2014
Сообщений: 6,627
17.08.2014, 00:26     Объясните общие моменты: среда разработки, библиотеки и т.п #11
Цитата Сообщение от _Ivana Посмотреть сообщение
не круто
Знаешь почему так будут говорить всегда? Потому что у всех свой опыт давит.
Некоторые за много лет налетали на разнообразные проблемы в ходе своей практики, и вот видят они в твоем коде потенциально те же косяки, что они встречали сами ранее. Естественно хочется сказать, что тут не так и там не так. Поэтому ты прислушивайся, но фильтруй. Ибо всему свое время и чужой опыт к себе в голову ты все равно не закачаешь, а будешь учиться и расти над собой, то все это придет и сам уже потом будешь сидеть и советы всем давать
moex
Заблокирован
17.08.2014, 08:01     Объясните общие моменты: среда разработки, библиотеки и т.п #12
Microsoft Visual C++ 2005
Старовато, но лучше, чем 2010, 2012 или 2013 с их глюками линковки и проблемами с C++/CLI.
А идеально для новичка наверно VC++ 2008.
Фичи стандарта C++11 и пр. пока рано, а что надо, то и в 2008-ой есть.

Microsoft Visual C++ 2005 - это С++ или нет, и сильны ли отличия?
Если создать проект типа Пустой проект (не Проект Win32 + галка Пустой проект, не Пустой проект CLR, а просто Пустой проект) и в нем ручками написать код и настроить что надо (для WinApi придется поменять пару настроек в свойствах проекта), то будет в общем-то чистый С++, и никаких лишних библиотек ваша программа требовать не будет.
Но вот в остальных случаях, программа может требовать набор библиотек Visual C++ Redist, который вроде бы и не нужен (код на том же чистом С++), но без него работать не будет.
Этот момент учитывайте.


Позволяет ли язык/среда разработки подключать серьезные библиотеки, в т.ч. математические, или это не зависит?
Смотря какие. .NETовские можно подключать только в проектах C++/CLI (CLR), обычные - и так и так.

или это неважно и на это можно не обращать внимание?
Смотря как заказчик требует. А если для себя - то как сами хотите.
Толком заточить под билдер все равно не выйдет - у него свои дополнительные библиотеки VCL.
Тот код, который в VC++ занимает 1000 строк, в Builder, будучи написанным под VCL, может 200 строк занимать.

значит мой код не скомпилится на С++ билдере
Скомпилится, а вот обратно - могут быть трудности, из-за VCL.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2014, 15:20     Объясните общие моменты: среда разработки, библиотеки и т.п
Еще ссылки по теме:

C++ Среда разработки
C++ Среда разработки
Среда разработки под ХР C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
_Ivana
2189 / 1394 / 124
Регистрация: 01.03.2013
Сообщений: 4,151
Записей в блоге: 2
17.08.2014, 15:20  [ТС]     Объясните общие моменты: среда разработки, библиотеки и т.п #13
moex, спасибо.

Не по теме:

Добавил бы спасибо в репутацию, но у заблокированных юзеров это отключено. Возвращайтесь под другим именем псевдонимом ником

Yandex
Объявления
17.08.2014, 15:20     Объясните общие моменты: среда разработки, библиотеки и т.п
Ответ Создать тему
Опции темы

Текущее время: 09:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru