Решил написать статью об указателях на методы классов. Недавно мне пришлось столкнуться с тем, как они работают изнутри, когда писал некоторые вещи ориентированные под компилятор. Эти указатели работают не совсем как обычные указатели, не имеют возможности быть приведенными в void, и часто имеют размер больше 8 байт. Информации на эту тему в интернете я нашел относительно немного, потому решил разобраться сам.
Особенно пугают такие страшилки, которые мало что объясняют о том как происходит на самом деле и почему, а лишь пытаются приучить программиста слепо следовать требованиям.
Давайте разберемся что и почему происходит.
Все манипуляции будут произведены для архитектуры x86-64.
Просмотров:
348
|
Добавил:
niko
|
Дата:
02.09.2020
|
А теперь в подробностях. Когда я писал о том, что функция вызывается, или данные передаются в функцию, то умышленно упускал из виду один момент.
Например, когда вызывается функция, то процессор перепрыгивает с текущего адреса, на которым он находится, на адрес функции. И выполнение программы продолжается с того адреса. После того, как функция закончила работу,
...
Читать дальше »
Просмотров:
421
|
Добавил:
niko
|
Дата:
02.09.2020
|
Перед Вами новая статья серии "Что такое алгоритм?". И снова непростая задача. Нам необходимо "нырнуть глубже" в структуры памяти живого организма. К сожалению, в ракурсе, предлагаемом статьёй, это направление еще исследовано слабо. Что делает материал, приведённый далее, более сложным по сравнению с излагаемым в предыдущих частях, в которых использовалась близость с методами "генетических алгоритмов", автоматизированных систем управления, систем машинного обучения с учителем и подкреплением. Поэтому прокладывать тропинку в глубь неизведанных "территорий" процессов памяти придется во многом самостоятельно. С одной стороны это очень интересно. Ведь мы с Вами первопроходцы! А с другой стороны есть опасность "заблудиться". Чтобы
...
Читать дальше »
Просмотров:
373
|
Добавил:
niko
|
Дата:
02.09.2020
|
Текущее состояние в области программирования — это обучение ремеслу по большей части личной практикой или разборами примеров стороннего кода, с которым по каким-то причинам приходится сталкиваться.
В результате программированию учишься по наитию. Лишь немного в этом труде помогают сборники алгоритмов, прикладных техник и шаблонов проектирования. Общая совокупность предлагаемых ими рецептов выстраивается длинным списком, и его длина грозит каждому из прочитанных приемов быть позабытым (как была забыта 53-яя личная группа в "телеге" до введения разбиения по каталогам). Но даже тот прием, который остался в памяти, чаще всего просто является описанием прикладной задачи, в которой было успешно его использование.
Почему конкретный прием был успешен в задаче-образ
...
Читать дальше »
Просмотров:
374
|
Добавил:
niko
|
Дата:
02.09.2020
|
В этой статье я расскажу о 10 советах Excel, которые вы можете использовать для повышения производительности и облегчения своей рабочей жизни. Убедитесь, что вы прочитали весь список, так что вы можете найти советы, которые будут наиболее полезны для вас.
Я буду прыгать прямо в действие ниже. Обязательно сделайте закладку на эту страницу, чтобы вернуться сюда, если вы забудете какие-либо полезные советы, которыми я поделюсь.
Просмотров:
404
|
Добавил:
niko
|
Дата:
02.09.2020
|
Парадокс в том, что даже многие опытные пользователи Excel оставляют её без внимания. Но я считаю, что к ней нужно обращаться, как минимум, дважды: в самом начале изучения Excel (чтобы значительно облегчить себе этот путь) и в момент, когда пользователь начинает считать себя опытным (чтобы раз и навсегда закрепить этот материал).
Что мы считаем ошибкой в Excel? Это ситуация, когда прописанная формула вместо результата выдает нечто неприятное из списка ниже:
Просмотров:
463
|
Добавил:
niko
|
Дата:
02.09.2020
|
Программирование всегда связано с решением различных задач. Я подготовил список из шести различных заданий и отсортировал их по сложности решения. Первая — самая простая, шестая — самая сложная. Сможете разобраться со всеми?
В конце статьи я также разместил решения, выполненные на языке PHP. Вы же можете выбрать для этого другой язык.
Просмотров:
398
|
Добавил:
niko
|
Дата:
02.09.2020
|
MBR Master Boot Record это первые 512 Байт диска, это не раздел, не партиция это участок места в начале жесткого диска, зарезервированный для загрузчика Операционной системы и таблицы разделов.
Когда компьютер включается BIOS производит тестовые процедуры. После чего, передает код управления начальному загрузчику, который как раз расположен в первых байтах MBR. Причем, какому жесткому диску передавать управление мы определяем самостоятельно в соответствующих настройках BIOS. MBR это очень важная часть нашего жесткого диска, потеря его чревата потерей данных с нашего жест
...
Читать дальше »
Просмотров:
378
|
Добавил:
niko
|
Дата:
02.09.2020
| |