Как точно исполняемые файлы работают?

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

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

14
задан JRL 24 October 2009 в 03:15
поделиться

4 ответа

Исполняемые файлы - это двоичные файлы, которые понимаются операционной системой. Исполняемый файл будет содержать разделы, в которых есть данные. Windows использует формат PE . Формат PE имеет раздел, в котором есть машинные инструкции. Эти инструкции представляют собой просто числа, упорядоченные в последовательности и понятные ЦП.

Вызов функции MessageBox () будет последовательностью инструкций, которые

1) будут иметь адрес функции, которая находится в DLL. Этот адрес вводится компилятором

2) инструкциями по «проталкиванию» параметров в стек

3) фактическим вызовом функции

4) своего рода очисткой (зависит от соглашения о вызовах).

Важно помнить, что EXE-файлы - это просто файлы в специальном формате. У меня для тебя разборки нет,

11
ответ дан 1 December 2019 в 14:33
поделиться

Какой бы код ни был написан (будь то на C или другом языке), компилятор компилирует на специальный язык, называемый ассемблером (ну, машинный код, но они очень близки) . Ассемблер - это язык очень низкого уровня, который центральный процессор выполняет изначально. Обычно вы не программируете на ассемблере, потому что он слишком низкоуровневый (например, вы не хотите иметь дело с извлечением битов из памяти).

Я не могу сказать о MessageBox работает конкретно, но я предполагаю, что это МНОГО инструкций. Подумайте об этом: он должен нарисовать поле и оформить его так, как его стилизует ваш компьютер, и подключить ровный обработчик, чтобы что-то происходило, когда пользователь нажимает кнопку, сообщает Windows (или другой операционной системе), чтобы добавить его в панель задач (или док и т. д.),

2
ответ дан 1 December 2019 в 14:33
поделиться

Это зависит от языка, на котором вы работаете. Но для многих это так же просто, как ...

msgbox("Your message goes here")

или

alert("Your message goes here")
-4
ответ дан 1 December 2019 в 14:33
поделиться

Это раздутый вопрос, если я когда-нибудь его видел. НО, я постараюсь сделать обзор. В двоичном исполняемом файле есть вещи, называемые «байтовыми кодами», байтовые коды - это всего лишь шестнадцатеричное воспроизведение инструкции. Обычно вы можете «искать» байтовые коды и преобразовывать их в инструкции сборки. Например: Инструкция:

mov ax, 2h

Имеет представление байтового кода:

B8 02 00

Байтовые коды загружаются в RAM и выполняются процессором, поскольку это его «язык». Никто не в здравом уме, что я знаю программы в байт-коде, это было бы слишком сложно. Сборка ... это и так весело. Всякий раз, когда вы компилируете программу на языке более высокого уровня, она должна взять ваш код и превратить его в инструкции ассемблера, вы просто представляете, насколько искаженным будет выглядеть ваш код после его компиляции. Не поймите меня неправильно, компиляторы великолепны, но дизассемблируйте программу на C ++ с помощью IDA Pro Freeware, и вы поймете, о чем я говорю. Вкратце, это исполняемые файлы, на эту тему, безусловно, есть книги. Я не эксперт по Windows API, но кто-то другой может показать вам, как будут выглядеть инструкции по вызову Windows API «MessageBox». Это должно быть всего несколько строк ассемблера.

4
ответ дан 1 December 2019 в 14:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: