|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Быстрый старт в изучении C++ для относительно опытных программистов Basic18.04.2020, 16:11. Показов 14877. Ответов 253
Метки basic, c++, c++ для начинающих, com для начинающих, power basic, powerbasic, vb, vb winapi com, vb_winapi_com, visual basic, winapi_com_с++, winapi_com_c++, winapi_для_начинающих, winapi_и_com, азбука com, азбука winapi, заметки недопрограммиста, различие c++ и vb, сходство c++ и vb (Все метки)
В этой ветке предлагаю обсуждать сходства и различия между C++ и Visual Basic.
Ну хотя бы для упрощения процесса изучения параллельного (дополнительного) языка для тех, кто уже относительно неплохо знаком с Visual Basic. Ну просто как-то "не вкусно" начинать изучение совсем уж с нуля, когда, в принципе, уже и без того много знаешь (циклы, ветвления, указатели, видимость переменных ... ). На самом деле, начал сейчас просмортр на ютубе курса по C++. Дядька очень толково и понятно всё объясняет, явно есть у него талант хорошего преподавателя. Самые первые отличия, которые бросились в глаза, это: - комменты обозначают двумя косыми чертами вместо апострофа, - в конце каждой строки точка с запятой, - все процедуры, функции, "тела" циклов ... в фигурных скобках, - вложенные циклы можно описывать одной строкой, - если переменная объявлена, но ей не присвоено значение, то она содержит случайный "мусор" из памяти, а не как у нас в бейсике, где сразу получает значение ноль или пустую строку, - массивы с квадратными скобками вместо круглых, - область видимости переменных ограничена фигурными скобками и причём неважно функция это, цикл или "тело" функции IF, а не как у нас область видимости переменных ограничена только функциями и процедурами. Ветка открытая, пишите кто хочет. Особенно приветствуются советы опытных специалистов, уже овладевших несколькими языками. Ну уж им-то гораздо виднее, в чём сходство и различие разных языков. Сказать по правде, лично мне сейчас C++ и его младший брат нужны, главным образом, для удобства изучения материалов MSDN.
0
|
|
| 18.04.2020, 16:11 | |
|
Ответы с готовыми решениями:
253
предложение для опытных программистов Быстрый старт и софт для Modicon TM251MESE (Schneider Electric) Книги или справочники для опытных(или проффесиональных) программистов! |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 22.04.2020, 22:21 | ||
|
0
|
||
|
Модератор
|
|||
| 22.04.2020, 22:27 | |||
|
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 22.04.2020, 22:30 [ТС] | |||
![]() Я вообще всегда сторонник простых решений. Хотя иногда "под настроение" и "головоломки" тоже оказываются "в тему". Ну ведь пыхтел же я совсем недавно целый месяц над установкой Win_7 на нетбук (900 Мгц, 2 гб ОЗУ, 4 гб SSD). И ведь установил-таки! Просто приходит вдруг в голову какая-то "безумная" идея, увлекает желанием попробовать, ну а дальше уже азарт! ![]() Ну да кому я всё это рассказываю-то? Мы же все здесь такие, наверняка!
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 22.04.2020, 22:40 [ТС] | ||
|
Ну да это полезная возможность для расширений функционала. Можно использовать дополнительные объекты, их свойства и методы.
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||
| 22.04.2020, 23:25 [ТС] | |||||||||
![]() Добавлено через 3 минуты https://docs.microsoft.com/en-... v%3Dvs.85) Добавлено через 7 минут
Через собственный реестр. Классно! Добавлено через 20 минут
На самом деле, для меня это сейчас не принципиально. Главное, что сейчас проблемы такой нет. Добавлено через 11 минут Не по теме:
0
|
|||||||||
|
|
||
| 23.04.2020, 13:33 | ||
|
То есть даже если Scintilla.dll не окажется на компе, это не помешает запуску проложения. Просто функция InitScintilla вернет 0. Вот типичный импорт PureBasic.
0
|
||
|
Модератор
|
|||
| 23.04.2020, 13:59 | |||
|
0
|
|||
|
|
|||||
| 23.04.2020, 14:47 | |||||
|
Это обычная dll-ка. Ее ненужно регистрировать в системе и достаточно поместить в папку откуда ее загружает приложение. IDE вообще не требует установки и прекрасно работает с флешки без каких-либо модификаций. Достаточно запустить IDE с ключом /PORTABLE чтобы настройки хранились в папке PB. Но какая связь между зависимостями IDE и создаваемыми приложениями? Для создаваемых приложений этот файл не требуется, кроме случая разработки текстового редактора на основе Scintilla. Быстрый старт в изучении C++ для относительно опытных программистов Basic MultiHash - программа вычисляющая хеши файлов Найдите в них динамическую загрузку Scintilla.dll.
0
|
|||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
| 23.04.2020, 16:34 [ТС] | |
|
Да, всё-таки с определёнными оговорками, но тем не менее, записываем это в сходство между VB и C++.
Для работы требуются рантайм-библиотеки. Ну а из различий, пока ещё не упомянутых в этой ветке, можно отметить появившуюся в Windows_10 проблему получения контекстной справки из редактора VB5 при нажатии клавиши F1. Разумеется, в С++ такой проблемы быть не должно. Дело в том, что майкрософтовцы сочли файлы .hlp потенциально уязвимыми для вирусов и прекратили их поддержку. На самом деле, для меня это было шоком, потому что я всегда (начиная с 2004-го года) предпочитал именно VB5 по той причине, что там была роскошная встроенная справочная система. Для VB6 надо было отдельно скачивать библиотеку MSDN, да ещё же надо было знать, какую версию скачивать, а тогда я этого, разумеется не знал. Да и увесистая она, а интернет-то был медленный и стоимость зависела от трафика. Ну а теперь вот всё наоборот стало, - в VB6 справка у меня есть, а в VB5 (хоть и пробовал плясать с бубном) нету. На скриншоте показано, куда меня посылают при попытке нажать F1 из IDE VB5. В просмотре уроков С++ на ютубе добрался до темы указателей. Здесь надо сказать, что это уже моя третья попытка "подружиться" с С++. Самая первая была предпринята ещё где-то в районе вышеупомянутого 2004-го года. Тогда мне приятель отдал (за ненадобностью) 3 CD по теме программирования. Ну просто он тогда купил где-то оптом по дешёвке целую охапку CD-ков по совершенно разной тематике, ну вот и расщедрился ![]() Это были Бейсики (под MS-DOS и VB 4-6), C/C++ (тоже разные версии) и Делфи. К Делфи я так никогда и не притронулся. Занимался всегда только Бейсиками. Но и с С++ уже тогда в первый раз попытался "познакомиться". Камнем преткновения послужило как ни странно, изобилие типов. Я не понимал тогда, зачем они нужны, ну ведь тогда ещё не знал ничего про WINAPI и COM. Ну просто реально не понимал, зачем нужны какие-то дополнительные типы данных, без которых (как я видел в VB) можно прекрасно обходиться. Ну вот и отверг я тогда С++ практически с самого порога. Следующая попытка была предпринята лет 7 тому назад. И это тоже, как и сейчас, был курс уроков на ютубе. Добросовестно скачал и установил компилятор, который там порекомендовали, выполнял все домашние задания, которые там задавали. А вот камнем преткновения на этот раз послужили именно указатели. Ну не понятно мне было, как всё это работает. И это даже несмотря на то, что я даже и с ассемблером к тому времени уже был знаком на начальном уровне. Короче говоря, в тот раз тоже показалось, что С++ это "для высших умов", и я вернулся в родной и уютный VB. Ну а потом получилось так, что совершенно случайно узнал, что MS-DOS-ный PowerBasic, для которого я когда написал несколько любительских учебных программ (а он тоже был на том самом CD с бейсиками) реинкарнировался в Windows'е. Порылся в интернете, "клюнул" на маркетингговую рекламу, что он дескать почти такой же быстрый как С, ну вот и завис на нём с тех пор. Я это так подробно рассказываю, потому что в том языке тоже есть указатели, и каким-то образом постепенно я научился их использовать в свои программах, хотя и недолюбливаю до сих пор по старой памяти ![]() Так что если кто-то когда-то будет читать эту ветку в поисках возможностей быстрого старта в изучении С++ для более или менее осмысленного умения работать из среды Визуального бейсика с WinAPI и COM, тот должен понимать, что типы данных и указатели это "суровая необходимость" ![]() Ну просто так оно там всё устроено, хотим мы того или нет.
0
|
|
|
Модератор
|
||||||
| 23.04.2020, 16:45 | ||||||
|
0
|
||||||
|
|
||||||||||||||
| 23.04.2020, 17:40 | ||||||||||||||
|
Тогда все просто.
То есть нужно учитывать сложность и востребованность программы. Касаемо PureBasic у него большую часть дистрибутива занимают не исполняемые файлы, а библиотеки ЯП и ресурсы примеров (особенно те что относятся к 3D). Зависимость от Scintilla.dll есть в винде, а в IDE для Linux библиотека отсутствует в дистрибутиве. Значит статически прилинкована.
0
|
||||||||||||||
|
|
|
| 23.04.2020, 17:51 | |
|
А ещё есть такой геморрой в C++, как Microsoft Visual C++ Redistributable, причем 2005-2008-2010-2012-2013-2017 годов.
И нужно то одно, то другое, не взаимозаменяемы, и в конечном итоге ставится на комп всё сразу, чтоб наверняка! После такого мегабайтная MSVBVM60.DLL уже такая мелочь, что приаттачить её к своей программе ни чего не стоит.
0
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||||
| 23.04.2020, 22:16 [ТС] | ||||||||||
Ну вот просто констатируем это и всё. А уже то, хорошо это или плохо оставим за кадром. Наверняка же у каждого подхода имеются свои плюсы и минусы. Самое главное, что это же не тонны дутого софта, которые требуется устанавливать для работы Net-приложений, например. Добавлено через 1 час 5 минут
Указатель на указатель, потом ещё один указатель на всю эту конструкцию, потом ещё один, потом всё это разыменовывал до "голого" значения переменной. Может быть я сейчас что-нибудь неточно воспроизвожу, но что-то там было именно вот такого плана. Переменная в скобках, перед скобками звёздочка, потом всё это снова в скобках, потом снова звёздочка, ну и так далее. Ну вот мне и показалось тогда, что никогда такого не осилю. А может быть без понимания этого дальше уже ничего не пойму? Ну вот и остыл мой энтузиазм тогда. А нынешний преподаватель как-то попроще всё объясняет и не "фокусничает", и это правильный подход, я считаю.
![]() И кстати, нынешний преподаватель хорош тем, что использует пока только int и float, ну и char ещё вскользь упомянул в самом-самом начале. Хотя я уже добрался до 46-го урока. Они у него по 10-15 минут каждый. И уже довольно сложные темы затрагивал (циклы, ветвления, работа с массивами, стек, рекурсия, теперь вот до указателей добрался).
![]() Я же обычно очень простенькие программы пишу, в которых, по большому счёту, и отлаживать-то нечего ![]() Существует ли возможность использовать компоненты COM на тех машинах, где нет соответствующих библиотек?
0
|
||||||||||
|
|
|||
| 23.04.2020, 22:38 | |||
|
Как правило статически линкуется процедурный код. И с динамической загрузкой проблем нет.
1
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 23.04.2020, 22:54 [ТС] | ||||||
|
А пока, будете смеяться, использую для уроков эмулятор компилятора С++ на андроид-планшете. Но там все примеры пока очень простенькие, поэтому его ресурсов вполне хватает. И кстати, это тоже заслуга нынешнего преподавателя. Он же простой блоггер на ютубе, а тот предыдущий был профессиональным преподавателем в институте каком-то, как я понял, и там была съёмка его реальных лекций в этом институте. Добавлено через 15 минут
![]() Но фишка в том, что он пока в своих уроках реально всего двумя переменными обходится. Для относительно лёгкого старта это как раз самое оно.
0
|
||||||
|
Модератор
|
|||||||||||||
| 23.04.2020, 23:23 | |||||||||||||
|
Добавлено через 2 минуты
0
|
|||||||||||||
|
|
||||||||
| 24.04.2020, 00:01 | ||||||||
|
Это касается VB. Если по нормальному, в винде контролы создаются функцией CreateWindow и не требуют танцев с бубном чтобы они работали.
0
|
||||||||
|
Модератор
|
|||||||||
| 24.04.2020, 00:44 | |||||||||
|
Думаешь кого-то заботит что тут куча внешних DLL файлов?
0
|
|||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||
| 24.04.2020, 02:35 [ТС] | ||||||||
![]() Привык уже ![]() Ну а процедуры и функции, да, конечно же отделены друг от друга. Но это так компилятор требует. А вообще-то я, пожалуй, запроста смог бы даже сейчас писать, как когда-то в Спектрум-бейсик, - всё подряд сверху вниз и с прыжками GOTO на номера строк ![]() Нет, всё-таки на лейблы, пожалуй, а то номера-то они же сдвигаются, если что-нибудь вставлять ![]()
Сейчас-то удалось-таки установить полноценную семёрку на "малыша", поэтому вопрос отпал, а на тот момент удалось "втиснуть" только очень сильно урезанную сборку с отрезанным SAPI. Отдельно SAPI установить невозможно, потому что, начиная с Windows_XP, это неотъемлемая часть самой винды. Соответственно, программы с озвучкой там не работали. Практический вопрос отпал, но теоретический всё-таки остался.
0
|
||||||||
| 24.04.2020, 02:35 | |
|
набор опытных C++ программистов Приглашаю На работу Опытных Программистов Нужен совет опытных программистов на C# Нужен совет опытных программистов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|