Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
1

Хочу заниматься системным программированием. Какую литературу посоветуете?

13.10.2016, 22:46. Просмотров 5482. Ответов 83
Метки нет (Все метки)

Хочу заниматься системным программированием,а также интернет программированием. Какую литературу посоветуете?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2016, 22:46
Ответы с готовыми решениями:

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

Какую литературу посоветуете?
Здравствуйте, хочу заняться системным программированием, а именно разработкой ОС и драйверов. Знаю...

Какую литературу посоветуете читать?
Нужен какой нибудь вузовский учебник по физике из разряда "для чайников" и заодно какой нибудь...

Какую литературу посоветуете почитать по Delphi?
Какую литературу посоветуете почитать по Delphi? Видел множество вариантов, но хотелось бы узнать,...

83
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
14.10.2016, 11:15 2
Под какую ОС? Или, может быть, кросс-платформ?
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
14.10.2016, 17:07  [ТС] 3
Убежденный, под windows сначала.
0
74 / 74 / 30
Регистрация: 12.02.2016
Сообщений: 199
14.10.2016, 17:11 4
Если под "интернет программированием" вы подразумеваете сетевое программирование, то традиционно советуют этот гайд
1
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
14.10.2016, 19:26  [ТС] 5
Emmk, а по системному ничего не можете посоветовать?
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
14.10.2016, 20:02 6
Лучший ответ Сообщение было отмечено NewNoob как решение

Решение

"Системное программирование в Windows" (А. Побегайло),
"Системное программирование в среде Windows" (Д. Харт),
"Программирование эффективных win32-приложений" (Д. Рихтер),
"Защищенный код для Windows Vista" (М. Ховард, Д. Лебланк),
"Программирование серверных приложений для Windows 2000" (Д. Рихтер, Д. Кларк),
"Недокументированные возможности Windows 2000" (С. Шрайбер).

"Windows NT4/2000 Native API Reference" (G. Nebbett),
"Undocumented Windows NT" (P. Dabak, S. Phadke, M. Borate).

"Windows Internals" (М. Руссинович, Д. Соломон)
"Руткиты. Внедрение в ядро" (Хоглунд Г., Батлер Дж.)

Еще вот здесь есть по системному программированию несколько ссылочек:

Документация и загрузки для разработчика драйверов
5
74 / 74 / 30
Регистрация: 12.02.2016
Сообщений: 199
14.10.2016, 21:46 7
NewNoob, материалов и книг уйма, выше вам скинули. Важнее, как мне кажется, понимание фундаментальных концепций. Для этого порекомендую курс Архитектуры ЭВМ и основы ОС от лекториума.
3
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
15.10.2016, 09:21 8
Emmk, кстати, да. Без понимания основ и шагу не ступишь.
Я тоже перед тем, как читать материалы под конкретную ОС и API, крайне советовал бы
начать с изучения (или повторения) самых-самых азов, т.е. принципиального устройства ЭВМ,
ОС, основные термины вычислительной техники (бит, байт, процессор, прерывание,
виртуальная и физическая память, сегменты, защита, ring0-ring3, планировщик задач,
исключения, многопроцессорные системы и т.д.). Может быть, есть смысл вообще начинать с
изучения ассемблера под интересующую архитектуру и пробовать написать несколько
программ на нем, а потом уже идти дальше.
2
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
15.10.2016, 21:47  [ТС] 9
Убежденный, хм,может. Я как раз начал. А в чём отличие от си? Т.е эти команды,вроде mov,add и т.д - операции или команды,как у самого процессора или что-то с этим связанное? Просто говорят,что ассемблер наиболее приближен к машинному коду,т.е имитирует команды процессора и что-то подобное?
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
15.10.2016, 22:13 10
Цитата Сообщение от NewNoob Посмотреть сообщение
Я как раз начал. А в чём отличие от си?
C часто называют "ассемблером высокого уровня".
У них мало общего на самом деле. Их объединяет ну разве что сложность
написания программ

Цитата Сообщение от NewNoob Посмотреть сообщение
Просто говорят,что ассемблер наиболее приближен к машинному коду,т.е имитирует команды процессора и что-то подобное?
Программируя на ассемблере, ты оперируешь командами процессора под
конкретную архитектуру, никакой эмуляции.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
15.10.2016, 22:44  [ТС] 11
Убежденный, т.е,например,если я перемещаю значение в регистр,то как бы процессор на самом деле и перемещает значение в этот регистр? Т.е это не абстракция.
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
15.10.2016, 22:51 12
Все верно, это не абстракция.
0
Evg
16.10.2016, 11:47
  #13

Не по теме:

В списке литературы отсутствует самая важная книга - "Учимся пользоваться google'ом за 21 день"

0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
04.11.2016, 23:55  [ТС] 14
Убежденный, Active-X - очень важная тема или можно на при первом прочтении пропустить? Кстати, Си же не поддерживает объектов,интерфейсов и т.д. Для языков,вроде,C# поддержка active X,как написано,есть. Не проще ли его использовать для системного программирования? Или в дальнейшем отличия будут?
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
05.11.2016, 08:52 15
Цитата Сообщение от NewNoob Посмотреть сообщение
Active-X - очень важная тема или можно на при первом прочтении пропустить?
COM/OLE/ActiveX - это значительная часть Windows.
Глубоко вникать в эту тему не обязательно, но иметь представление о том,
как устроены эти технологии, очень важно.

Цитата Сообщение от NewNoob Посмотреть сообщение
Си же не поддерживает объектов,интерфейсов и т.д.
Это не помеха. C поддерживает вызов функции по указателю, для работы с COM этого достаточно.
А C# для системного программирования не очень, это же язык высокого уровня, к тому же
со своими особыми "заморочками" - CLR, .NET Framework, mscoree.dll и т.д.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
12.11.2016, 20:52  [ТС] 16
Убежденный, а в c# интерфейс тоже получается - таблица указателей на функции? Я думал,что это только то,какие методы он должен выполнить. Или понятие интерфейчсов c# и active x - разные вещи
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
12.11.2016, 21:05 17
Цитата Сообщение от NewNoob Посмотреть сообщение
а в c# интерфейс тоже получается - таблица указателей на функции?
Я не знаю. Лучше спросить в разделе по C#.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
13.11.2016, 01:24  [ТС] 18
Убежденный, кстати,я не пойму,какую библиотеку нужно подключить,чтобы работать с active-x.

Добавлено через 37 минут
Убежденный, а что будет,если при вызове ф-й,возвращающих указателей на др.интерфейсы,я не буду использовать счётчик и вообще зачем это?
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
13.11.2016, 08:56 19
Цитата Сообщение от NewNoob Посмотреть сообщение
не пойму,какую библиотеку нужно подключить,чтобы работать с active-x.
Для начала ole32.

Цитата Сообщение от NewNoob Посмотреть сообщение
а что будет,если при вызове ф-й,возвращающих указателей на др.интерфейсы,я не буду использовать счётчик
Получишь утечку COM-объектов. Или обращение по адресу, где
находится уже уничтоженный объект.

Цитата Сообщение от NewNoob Посмотреть сообщение
и вообще зачем это?
Для управления временем жизни объекта.
Время жизни контролируется счетчиком: когда делается "копия", счетчик увеличивается,
когда одна из "копий" уничтожается, счетчик уменьшается. Когда счетчик достигает 0,
значит, больше не осталось ни одной ссылки на объект и он может быть безопасно удален.
Принцип тот же, который используется в std::shared_ptr или Boost.shared_ptr из C++.
Слово "копия" взята в кавычки, потому что никаких копий на самом деле не создается,
просто все работают с указателем на один и тот же объект.
0
6 / 10 / 2
Регистрация: 29.05.2015
Сообщений: 661
18.11.2016, 19:19  [ТС] 20
Убежденный, читаю,конечно,пока что медленно в силу наличия не столь большого кол-ва свободного времени. Но пока ещё не понял,как создать объект active-x. По идее сказано,что нужно использовать функцию QueryInterface. Но если я как бы вообще не имею указателей на интерфейсы. Как их создать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2016, 19:19

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

Стоит ли заниматься программированием на С++?
Добрый день всем! Может вопрос и не в эту тематику. Но очень такая тема беспокоит, я начинающий...

Не рано ли заниматься программированием в 13 лет
Всем здравтвуйтего, мне 13 лет. Последнее время сильно увлёкся программированиемне и мне это очень...

Со скольки лет нужно начинать заниматься программированием?
Я начал учиться программировать в 17 лет. А во сколько лет нужно начать, чтобы стать первоклассным...

Как начать заниматься электроникой и программированием микроконтроллеров? Курсы и прочее...
Здравствуйте,не подскажете ли вы,как начать заниматься с этой электротехникой? Вот хочется мне эти...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.