Может ли программа менять свой собственный код?28.05.2020, 00:50. Показов 6863. Ответов 41
Метки нет (Все метки)
Значит идея такая создать расширяемую программу. Сначала создаём заголовочный файл. В нём пишем следующий текст.
, происходит зацикливание и создаётся эффект что программа сама себя переписала и вместо строк
0
|
|||||||||||||||||||||
| 28.05.2020, 00:50 | |
|
Ответы с готовыми решениями:
41
Выбор языка для программ, анализирующих и меняющих свой же собственный код
Какая программа может менять букву диска? |
|
Комп_Оратор)
|
|||
| 28.05.2020, 13:30 | |||
|
Я не говорю о IPC для 2 и более процессов, а именно о программе которая во время выполнения может менять свой код:
0
|
|||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 28.05.2020, 14:00 | |
|
Нужно, что-бы ехе-шник "видел", что вычисления зашли куда-то не туда, подправил свой код в оперативке и сделал goto снова и снова, пока задача не будет решена. И в конце не забывал сбросить годный вариант кода в файл - для потомков. Высший пилотаж в программировании.
Всего то, написал универсальную программу, дал ей задание - и пусть сама думает, как решить.
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
|
|||||||||||||||||||
| 28.05.2020, 17:22 | |||||||||||||||||||
Но вы же говорили про современные ОС, а не про какую-то конкретную. Так вот, в современных ОС проблем не возникает. Но вы главное скажите, какую именно задачу вы пытаетесь мне приписать? Учитывая, что для типичных ситуаций я предлагал более логичные решения: Для добавления юзерской логики - добавление интерпретатора. Для обновления (в случае невозможности использовать штатные механизмы вроде apt), запустить отдельную программу-обновлятор. Даже если хочется странного, можно поиграться с правами доступа к оперативке, хотя зачем именно это нужно, кроме jit-компиляции, я с ходу даже не придумаю.
0
|
|||||||||||||||||||
|
Комп_Оратор)
|
|||
| 28.05.2020, 17:46 | |||
|
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
|
||||
| 29.05.2020, 20:39 | ||||
|
Для чего может понадобиться возможность менять весь свой код (кроме некоторых вариантов обновления) не знаю, соответственно и рассматривать не считаю нужным.
0
|
||||
|
Комп_Оратор)
|
|||
| 29.05.2020, 20:45 | |||
|
0
|
|||
| 29.05.2020, 21:03 [ТС] | |
|
Ладно ребята не спорте. Идея моя такая допустим я читаю переменную с преобразованием в
Чар а потом мне нужно читать её как Шорт и как по вашему это реализовать через Питон, в этом случае нужно весь код писать на Питоне, ну или проверки делать.
0
|
|
|
Комп_Оратор)
|
||
| 29.05.2020, 22:01 | ||
boost::lexical_cast например, очень способствует... Это не про программу которая себя изменяет. Это про программу которая может вести себя как-то в зависимости от обстоятельств... Этим тут все и занимаются, в том или ином виде.
0
|
||
| 29.05.2020, 22:10 [ТС] | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
|
||||
| 29.05.2020, 22:54 | ||||
|
0
|
||||
| 30.05.2020, 18:49 [ТС] | |||||||
одно К в другое К поменять тип переменной а все остальные расчёты оставить как есть. Тут только либо проверки делать, что конечно замедлит программу, либо Питон, тогда весь код на Питоне писать, или писать скрипт который перезапустит программу например через командную строку, перекомпилирует данные, это очень сложно для меня. Так что да Интерпретации тут не хватает, правда я уже придумал как сделать.
0
|
|||||||
|
|
||
| 29.08.2020, 10:26 | ||
|
Касательно Python, его можно вызывать из С++ (можно например использовать boost/python). Так же можно встраивать Lua в С++ (еще проще/легче)
1
|
||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 30.08.2020, 18:50 | |
|
Во времена MS-DOS программа могла, кажется, менять свой код налету. Операционная система позволяла. Особенно исполняемые файлы с расширением .com
0
|
|
|
Just Do It!
|
|||||||
| 30.08.2020, 20:01 | |||||||
|
Кликните здесь для просмотра всего текста
осторожно! За просмотр взымается оплата!
0
|
|||||||
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 30.08.2020, 23:01 | |
|
Так и я могу. Код это ведь машинный код? Например есть какая-то процедура "02 Е4 11...", а мы меняем на "03 Е5 12..." и вызываем процедуру ещё раз. Зависнет конечно... Но теоретически это возможно, например динамически менять адреса и вызывать разные процедуры.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 31.08.2020, 02:16 | ||
|
0
|
||
| 31.08.2020, 02:16 | |
|
Программа не может открыть свой файл Слайдер, где у слайда может быть свой код Докажите, что через некоторое время некто либо перестанет менять свой спортивный клуб, либо будет менять его каждый день
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|