помогите выбрать книгу по с+!

  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #21

Ну разве что он пишет очередной BolgenOS или, в лучшем случае, ReactOS - если мы про PC-платформу, разумеется.

И, поверь, серьезные коммерческие проекты на C++ без низкоуровневого обращения к железу я видел.
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #22

+1
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #25

А что значит низкоуровневое обращение к железу? Ваш "серьезный коммерческий софт" использует собственные драйвера уровня ядра?

А вообще вопрос выбора книги по С++ сродни вопросу: "Что бы мне сегодня поесть на ужин, если вчера я ел макароны с котлетами?"
 
Останнє редагування:
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #26
А что значит низкоуровневое обращение к железу?

Прямое обращение к портам, собственные обработчики прерываний и т.п.


Эти детали я на публичном форуме обсуждать не могу, но скажу следующее. Во-первых, далеко не всегда для подключения нестандартного железа нужно ваять свой драйвер - зачастую хватает USB-COM или USB-HID. Затем, драйвер вполне может поставляться производителем самой железяки. В обоих случаях для работы с железкой хватает WinAPI, который можно юзать хоть из под .NET'а, хоть из-под Visual Basic (если на нем кто-нибудь еще пишет )

Разумеется, для разработки собственно драйверов потребуется знать все премудрости низкоуровневой работы с аппаратурой, но ИМХО емкость рынка разработчиков драйверов под PC-платформу в нашей стране ничтожна. Если уж "тянет" в эту сторону, то я бы посоветовал сразу учить программирование под микроконтроллеры.
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #27
Прямое обращение к портам, собственные обработчики прерываний и т.п.
Это возможно только на уровне ядра


Что то мне подсказывает что ты путаешь низкоуровневое обращение к железу с "высокоуровневыми" драйверами работающими с конкретной спицификой протокола обмена информации с устройством Ну а конфеденциальность это канешно святое и нерушимое
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #28
lugal прав: прерывания можно обрабатывать только в Ring 0.
А к COM и USB HID можно обращаться через стандартные драйвера при помощи вызова CreateFile().
Я вот только не возьму в толк, причём здесь "низкоуровневое" обращение к железу? При чём здесь C++ Builder?

Не то, ни другое к С++ прямого отношения не имеет.
Кстати о C++ Builder. Книги по нему не стоит читать по двум причинам:
1) Конкретно С++ в них уделяется не столь уж пристальное внимание, больше всё же описана работа с библиотекой VCL и самой IDE.
2) C++ Builder хоть и классный RAD, но на нём никто не пишет новых коммерческих продуктов. Он умер как и все остальные IDE "Не от Microsoft". Просто потому, что его разработала не Microsoft.
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #29

Ну вот и я ж о чем - в подавляющем большинстве случаев лезть в Ring 0 нет никакой нужды - достаточно возможностей стандартного Win API, который можно использовать практически из любого языка программирования. Какое это отношение имеет к C++ - см. ниже


Ранее в этой ветке было сказано следующее:


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

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


А ничего, что PS/2 (и тем более COM) мышь сейчас еще поискать надо? Это про "допотопный контроллер"...

Ну и если обработку событий мыши считать низкоуровневой задачей... то я молчу Hint: В Windows 10 лет назад это прекрасно можно было делать на Visual Basic 6, да и на Delphi тоже, насколько я помню.
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #30

Не так пнял. Щас исправимся

Сударь, не стоит кидаться столь громкими словами Я постоянно работаю на высокоуровневых проектах на С++ Есть канешно еще эмбед, драйвера и игры, но там своя специфика да и в эмбеде для половины задач просто не существует С++ компиляторов, там рулит чистый Си

Опять таки ошибочное утверждение. Как минимум есть проекты с высоким уровнем соплатформенности и производительности (бэк офис) где сложно найти альтернативу С++ (для соплатформенных разве что Флекс и то не для всех задач)

Так что не сотит сильно умничать и пытаться казаться умнее всех
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #31
С++ и Страуструп - это синонимы, нельзя знать С++ не прочитав Страуструпа
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #34
Если Кнут замочить в кильке с томатом,дать просохнуть,потом повторить процедуру,и так до полного окраса кнута,можно его потам использовать ,он будет показывать правильнэ напрямок в сторону,где нормальная книга лежит
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #35
Брат Пастух,технология чуть обогнала ваше сообщение.В лабораториях проходят испытания по использованию опустошенных консервных банок из под кильки для передачи управляющих сигналов на компьютер без клавиатуры и мыши.
Расширением такой технологии может быть прокатка банки по плоскости книжного рядка.Там где ляжет,там и брать надо.
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #36
А что, Страуструпа уже запретили, что Вы спрашиваете?
 
  • 🔴 13:27 Повітряна тривога в Харків.обл.
  • #37