Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Доброго врмени суток, форумчане!

Может кто знает, как строки записанные в переменные на языке С хранятся в машинном коде?

 

Пример

int main() { 
cout << "Hello, world!" << endl;
return 0; 
}

Как после компиляции и открытия через блокнот найти "Hello, world"?

Вариант с переводом "Hello, world" в  ASCII не получился (((

Опубликовано

Скорее всего строка хранится в формате UTF-16

  • Согласен 1
Опубликовано

Выложите бинарник, чтобы посмотреть.

  • Согласен 1
Опубликовано (изменено)

Доброго врмени суток, форумчане!

Может кто знает, как строки записанные в переменные на языке С хранятся в машинном коде?

 

Пример

int main() { 
cout << "Hello, world!" << endl;
return 0; 
}

Как после компиляции и открытия через блокнот найти "Hello, world"?

Вариант с переводом "Hello, world" в  ASCII не получился (((

Все очень просто - не нужно открывать откомпилированный файл блокнотом :) Дело в том, что блокнот не предназначен для открытия бинарных файлов, в итоге и что он там отобразит - загадка (как минимум он будет пытаться разбить строки по символу перевода строки, и "строки" в тысячи символов длиной с скроллированием будут нормой. Наиболее простой путь - установить Far Manager, в нем открыть бинарный файл на просмотр по F3, в просмотрщике F4 переключает между текстовым и HEX режимом, в Shift-F8 - выбор кодировки. Строка "Hello, world" будет видна в теле EXE невооруженным глазом.

Изменено пользователем Zaitsev Oleg
  • Согласен 2

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...