Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как изучать Visual Studio 2008 ?

Опубликовано

Добрый день. Мне необходимо изучить С++. Установил на компьютер Visual Studio 2008. Начал читать книгу по С++, пытаться написать примеры из неё. Но они не работают. Даже самые элементарные. Пишет, что есть ошибка и не создаёт исполняемый файл. Может это от того, что книга относительно старая? А именно: 2006 года. И написана для Borland C++ 5.02. Может там синтаксис отличается от VS2008 или ещё что-нибудь? Я в этом плохо разбираюсь.

 

Но у меня, кстати, подобная проблема уже была. На 2 курсе изучали язык С. Я купил книгу Кернигана и Ритчи. Там тоже для примера были написаны листинги разных задач. Так вот я их печатал и они тоже у меня не работали. Ни одна. Хотя в предисловии книги было сказано, что все програмки проверены и работают.

 

Одним словом, мне по работе надо изучить С++, но ничего не получается. Посоветуйте что-нибудь, пожалуйста.

  • Ответов 69
  • Просмотры 8,5 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Изображения в теме

Рекомендуемые сообщения

Опубликовано
что за компилятор? gcc?

Да, gcc. В студиях этот код проходит на ура :)

ну а "кончающим" я себя назвал, потому что занимаюсь программированием с 97ого года и оно мне по сути уже надоело. я в свободное время лучше погулять пойду или фильм посмотрю, чем писать сяду для себя или изучать что-то.

Опубликовано
  • Автор
ну, кроме знания теории "кончающий" программист еще и практикой обладает и знает, что этот код прохавается всеми современными компиляторами

Ууупс... :shy:

 

post-4192-1315138311_thumb.png

 

Что Вы там про ЧСВ говорили? :grin:

 

p.s. Не заводитесь только, нисколько не хочу ставить под сомнение Ваш опыт, но практика показывает, что и "матёрые волки" ошибаются :)

 

Где скачать эту программу, которая изображена на фотографии? И как она называется?

Опубликовано
Где скачать эту программу, которая изображена на фотографии? И как она называется?

Ой не стОит... Если уж со студией разобраться не можете, которую надо только поставить и запустить, то здесь вообще швах - IDE отдельно, компилятор отдельно, отладчик отдельно (это все еще подружить между собой придется, что не всегда удается с первого раза). Да еще и JRE (Java Runtime Environment) нужна.

 

Хотя фигли, всерьёз хотите стать программистом - разберётесь :grin:

Программа называется Eclipse, качать тут: http://www.eclipse.org/downloads/ (лучше сразу сборку Eclipse IDE for C/C++ Developers, иначе офигеете прикручивать нужный плагин).

JRE тут: http://www.oracle.com/technetwork/java/jav...oads/index.html

Компилятор и отладчик: http://www.mingw.org/ или http://www.cygwin.com/

 

Но лучше разберитесь с Visual Studio. Как минимум сделайте как посоветовали выше: скопируйте сюда информацию из окна Output, знающие люди попробуют помочь.

Опубликовано
Где скачать эту программу, которая изображена на фотографии? И как она называется?

Ой не стОит... Если уж со студией разобраться не можете, которую надо только поставить и запустить, то здесь вообще швах - IDE отдельно, компилятор отдельно, отладчик отдельно (это все еще подружить между собой придется, что не всегда удается с первого раза). Да еще и JRE (Java Runtime Environment) нужна.

Может быть, иногда лучше поставить Qt SDK (у него батарейки в комплекте) и использовать Qt Creator в качестве IDE?

 

Кто-нибудь знает, подходит ли Qt Creator для новичков?

Опубликовано
Может быть, иногда лучше поставить Qt SDK (у него батарейки в комплекте) и использовать Qt Creator в качестве IDE?

с установкой qt тоже могут быть проблемы. само Qt со своим препроцессором еще более запутанная хрень, чем все остальное (ну разве что кроме MFC)

Опубликовано

возвращаемый mainом значение это errorcode используется для индикации правильно ли программа наша отработала или нет. это была очень нужная фича времен доса, когда все было консольное и можно было в bat-файле дописать проверку на правильность завершения. сейчас же сама концепция этих errorcode выглядит очень примитивно, да никто уже ими в реальных приложениях не пользуется. фактически int main() это дань предкам, бессмысленное камлание. в современном программировании в этом инте нет никакого смысла, как и в древнючего вида командной строке, которая еще и юникод не воспринимает. это все дела давно минувших дней, преданье старины глубокой. давно пора void main в стандарт добавить.

но да, лучше писать in main(), поскольку gcc допускает только этот вариант.

Опубликовано
возвращаемый mainом значение это errorcode используется для индикации правильно ли программа наша отработала или нет. это была очень нужная фича времен доса, когда все было консольное и можно было в bat-файле дописать проверку на правильность завершения. сейчас же сама концепция этих errorcode выглядит очень примитивно, да никто уже ими в реальных приложениях не пользуется. фактически int main() это дань предкам, бессмысленное камлание. в современном программировании в этом инте нет никакого смысла, как и в древнючего вида командной строке, которая еще и юникод не воспринимает. это все дела давно минувших дней, преданье старины глубокой. давно пора void main в стандарт добавить.
Редкостная чушь.
Опубликовано
Редкостная чушь.

то, с чем вы не согласны не всегда чушь. зато если вам нечего возразить по сути, то вы скорее всего заблуждаетесь.

вместо того, чтобы вносить в стандарт было бы разумнее, как и в других языках программирования вынести работу с комманд-лайном и ерроркодами в библиотечку, как это, например, в паскале сделано. возражения типа "ну и где твой паскаль сейчас" - неуместно. в хорошем языке не все хорошо сделано, как и в плохом не все плохо.

внесение того, что можно сделать библиотечкой в сам язык противоречит самой философии С++. поэтому void main - тру, int main - фу

Опубликовано
возвращаемый mainом значение это errorcode используется для индикации правильно ли программа наша отработала или нет. это была очень нужная фича времен доса, когда все было консольное и можно было в bat-файле дописать проверку на правильность завершения. сейчас же сама концепция этих errorcode выглядит очень примитивно, да никто уже ими в реальных приложениях не пользуется. фактически int main() это дань предкам, бессмысленное камлание. в современном программировании в этом инте нет никакого смысла, как и в древнючего вида командной строке, которая еще и юникод не воспринимает. это все дела давно минувших дней, преданье старины глубокой. давно пора void main в стандарт добавить.

но да, лучше писать in main(), поскольку gcc допускает только этот вариант.

Видимо кроме Win-довых GUI-ёвин программ больше никаких не бывает? :)

Да и коммандная строка не только в DOS-е живёт. Даже на винде полно суперудобных утилит не требующих гуйни. А уж о linux, и прочих bsd и говорить не приходится.

И с unicod-ом в коммандной строке вполне просто работать.

Особливо приимущество консоли проявляется когда пытаешся удалённо администрить сервера по слабым или ненадёжным каналам, да и на встроенные системы тоже непонятно зачем гуйню тащить.

 

Так что и коммандная строка и коды возврата вполне насущная и общеупотребительная концепция.

 

А на счёт того, нужно ли включать поддержку в сам язык или в библиотеки рантайма - так это на вкус и цвет.

Вон в стандартном паскале, ввод/вывод (read/readln/write/writeln) тоже часть синтаксиса.

Опубликовано
Видимо кроме Win-довых GUI-ёвин программ больше никаких не бывает? :)

я сейчас над консольной работаю. вообще гуй на дух не переношу. гуем должен заниматься дизайнер, а не программист.

 

Да и коммандная строка не только в DOS-е живёт. Даже на винде полно суперудобных утилит не требующих гуйни. А уж о linux, и прочих bsd и говорить не приходится.

И с unicod-ом в коммандной строке вполне просто работать.

Особливо приимущество консоли проявляется когда пытаешся удалённо администрить сервера по слабым или ненадёжным каналам, да и на встроенные системы тоже непонятно зачем гуйню тащить.

Так что и коммандная строка и коды возврата вполне насущная и общеупотребительная концепция.

я ж не говорю отказываться от командной строки и errorcode, я говорю что по философии С++, озвученной, если не ошибаюсь, трупом страуса, в С++ не надо включать то, что может быть сделано библиотеками. поэтому int main и argc, argv по-моему мнению являются ошибкой проектирования самого языка. но для дани совместимости мы да, должны писать именно так.

 

А на счёт того, нужно ли включать поддержку в сам язык или в библиотеки рантайма - так это на вкус и цвет.

в С++ на этот счет сказано строго. источник искать неохота. уж больно много книжек по С++ есть, и не вспомнишь так сразу где про это говорится. наверное, в "дизайн и эволюция С++"

Вон в стандартном паскале, ввод/вывод (read/readln/write/writeln) тоже часть синтаксиса.

задача единообразного вывода на экран многих значений разных типов сильно озадачила создателей языков того времени. Сишники вкорячили в язык эллипсис (или как он там пишется?) - многоточие, которое по сути нигде не использовалось кроме printf, который сам по себе стал источником миллиарда проблем. Создатели паскаля решили "для простаты" сделать write/read, ну и все наконец разрешилось в С++ с нормальной перегрузкой операторов и все забыли про этот эллипсис.

Опубликовано
я ж не говорю отказываться от командной строки и errorcode, я говорю что по философии С++, озвученной, если не ошибаюсь, трупом страуса, в С++ не надо включать то, что может быть сделано библиотеками. поэтому int main и argc, argv по-моему мнению являются ошибкой проектирования самого языка. но для дани совместимости мы да, должны писать именно так.

В философии разработки С++ кроме выделенного были ещё несколько принципов - например добиваться максимальной совместимости с чистым С, где main обязан возвращать int.

Т. е. поддерживать return errcode; всяко придётся.

В последних стандартах и так послабление сделали - можно опускать return 0 в случае если это последняя инструкция в main и других return нет.

Кроме того существует функция exit(res) и её аналоги для экстренного завершения минуя возврат из main.

 

задача единообразного вывода на экран многих значений разных типов сильно озадачила создателей языков того времени. Сишники вкорячили в язык эллипсис (или как он там пишется?) - многоточие, которое по сути нигде не использовалось кроме printf, который сам по себе стал источником миллиарда проблем. Создатели паскаля решили "для простаты" сделать write/read, ну и все наконец разрешилось в С++ с нормальной перегрузкой операторов и все забыли про этот эллипсис.

Про списки параметров мне гораздо больше импонирует решение с кортежами (туплами) чем с совмещением (перегрузкой) операторов.

Кстати, в последних стандартах С++ кортежи входлят в STL и для их реализации как раз используется эллипс (шаблоны с переменным количеством параметров) :)

Опубликовано
В философии разработки С++ кроме выделенного были ещё несколько принципов - например добиваться максимальной совместимости с чистым С, где main обязан возвращать int.

Т. е. поддерживать return errcode; всяко придётся.

В последних стандартах и так послабление сделали - можно опускать return 0 в случае если это последняя инструкция в main и других return нет.

Если бы да кабы я входил бы в комитет стандартизации С++, то я бы потребовал сделать void main() валидным С++

 

Кроме того существует функция exit(res) и её аналоги для экстренного завершения минуя возврат из main.

любое кривое решение отличается от прямого тем, что порождает море проблем. всякие exit() и abort() затрудняют отладку/портирование/сопряжение с другим кодом/встраивание этого кода в качестве плагина. exit() и abort() это тоже палки-копалки доисторических времен, костыли из-за отсутсвия исключений и неудобства отработки глубоко расположенных ошибок. в современных программах не встречается.

 

Про списки параметров мне гораздо больше импонирует решение с кортежами (туплами) чем с совмещением (перегрузкой) операторов.

Кстати, в последних стандартах С++ кортежи входлят в STL и для их реализации как раз используется эллипс (шаблоны с переменным количеством параметров) :)

что-то я это как-то проглядел. а можно пример?

Опубликовано
Кроме того существует функция exit(res) и её аналоги для экстренного завершения минуя возврат из main.

любое кривое решение отличается от прямого тем, что порождает море проблем. всякие exit() и abort() затрудняют отладку/портирование/сопряжение с другим кодом/встраивание этого кода в качестве плагина. exit() и abort() это тоже палки-копалки доисторических времен, костыли из-за отсутсвия исключений и неудобства отработки глубоко расположенных ошибок. в современных программах не встречается.

abort() -- это стандартный способ попросить операционку сделать core dump. Вы знаете более правильный и переносимый способ?

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.