![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Итак, вы решили изучать C++? Замечательно. Прекрасно. <вырезано цензурой>!
А что вы ожидали увидеть тут? То, с чего начинает половина книжек по C++ -- описание типов переменных на пять листов (за символы плотют однако-ж)? Нет, пожалуй, я воздержусь. Спешу вас обрадовогорчить, пишу я не книгу. Их и так уже, пруд пруди. К тому-же, лучше чем у Страуструпа ни у кого не получалось ![]() А, о чём это, я? Да всё о том же, я буду публиковать в этом и ещё аж N статейном цикле статеек ответы на вопросы которые будоражили меня на заре моего изучения C++ а сейчас, судя по списку топиков этого топика будоражат ещё как минимум 30% новичков, приходящих в этот язык со стороны, будь то PHP, Delphi или ещё какой-нибудь ЛИСП. Считайте эту статью, каталогом, обозревателем в мире C++ulture (как выразился небезызвестный Зверёк Харьковский в одноименной статье). Начну я пожалуй с инструментов. Скажите пожалуйста, а что лучше: Microsoft Visual Borland C++ 5.5 или STL? Ахтунг! C++ -- это язык (падлавил!). C++ -- не программа, не IDE, ничего такого что можно было-бы "скачать и запустить". Говоря строго, C++ это язык который представлен небольшим документом описывающим основные конструкции языка C++ а так-же стандартную библиотеку C++ (о ней пожже). Название документу сему Стандарт. Брать его стоит где-нибудь здесь. С++ это набор правил по которым компилятор преобразовывает C++ код в машиные коды. Ладно, ладно, не сразу в машинный код. Сначало в кучу промежуточных файлов, а только их уже линковщик линкует между собой (функция в A.obj а вызов в B.obj, ужоснах). Обычно, эта связка компилятор+линковщик, поставляеться вместе. Кстати, вышеупомянутая спецификация языка соблюдаеться абсолютно верно только в одном компиляторе (Comeau). Поэтому, много тем на форумах по C++ (в т.ч. и на Винграде) возникают из-за неправильной реализации C++ (читай: не соответсвующей стандарту). Что я имею в виду под этими замысловатыми высказываниями, это то что на разных компиляторах простейший код может интепретрироваться по-разному. Обычно, это выглядит в стиле "Именем Святага Стандарта я говорю что класс А не может обьявляться наследником класса B". В этом месте разработчики MS скромно тупят глаза и просят о условном сроке. Создатели компиляторов -- не роботы к сож., а некоторые ещё (как MS) хотят и свои фичи привнести в язык, плюя на стандарт (у MS много опыта в этой области). Есть и просто глючная реализация. Особенно, подобной реализацией славиться Borland C++ (не путать с C++ Builder!). Поэтому, если он у вас ещё есть -- выкиньте его пожалуйста в большущую ТОПКУ. Спасибо! Вот небольшой список ведущих на данный момент компиляторов, к примеру: - GCC (на Windows его перевели -- MinGW зовёться) - Microsoft Visual C++ 2003 (бесплатный) - OpenWatcom - Comeau -- не знаю кем используеться правда, но стандарту соответствует как никто другой. - Borland C++ Builder (к огромному сожалению). Это -- компиляторы. Это не язык, это -- просто программка которая сжовывает ваши гениальные C++ программки и преобразовывает их в машинные коды. Консольная, должен заметить, программка. Та гламурная вещь которую вы запускаете гордым дабл-кликом по Microsoft Visual Studio это IDE. В сущности, расширенный текстовой редактор и файл-менеджер, с возможностью запуска компилятора. Компилятор, как я уже сказал -- консольная программа. Естественно, что в современных IDE... Ах, я забыл сказать что IDE расшифровываеться как Integrated Development Environment -- интегрированная среда разработки. ... реализовываеться гораздо больше чем может показаться на первый взгляд... То заблуждение что Visual Studio это компилятор, обычно формируеться тем что идут эти две разные сущности (VC++ и VS) вместе. Вот небольшой списочек современных IDE и компиляторов с которыми они могут работать: -- Microsoft Visual Studio: только MSVC++. -- Eclipse: любой бесплатный компилятор. -- Code::Blocks: любой бесплатный компилятор. -- DevC++: насколько я помню, только MinGW. -- Borland C++ Builder: Borland C++. Т.е., то что вы должны освоить из этой статьи так это то что C++ код можно пистаь и в notepad.exe, и в VI, и даже в FAR (плагин даже есть такой). Компилировать его однако, можно, только компиляторами (ну не западлоль?). ---- Фух. --------------------
|
|||
|
||||
Aveic |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.2.2006 Где: Да все мы из одно й ямы Репутация: нет Всего: нет |
||||
|
||||
Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Примеры в студию.... -------------------- Теперь при чем :P |
|||
|
||||
Mayk |
|
||||||||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Почему bc должен лететь ф топку? Пжалуйста. Сегодня бился с тремя траблами.
Жуть. Лечится конечно просто, но всё равно не приятно. Ещё вот так нельзя в нём делать вообще:
(тут кстати даже комо даёт ворнинг, но компилит. гнус глотает за просто так)
BC вообще оказывается не ровно дышит к структурам.
(гнус и комо не подавились)
9 ошибок. Мне пришлось давать структуре имя и делать ей конструктор ![]() Это сообщение отредактировал(а) Mayk - 16.2.2006, 18:47 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||||||||
|
|||||||||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |