Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4

Может ли программа менять свой собственный код?

28.05.2020, 00:50. Показов 6861. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Значит идея такая создать расширяемую программу. Сначала создаём заголовочный файл. В нём пишем следующий текст.
C++
1
2
#define St1 "Пустая строка"
#define Stt1 int in=12;
. Далее подключаем заголовочный код к нашему проекту который я назвал "Версия2". В Мэйне пишем такой код.
C++
1
2
3
4
5
6
7
8
9
10
Stt1// подключаем переменную in
cout<<"Vyvod St "<<St1<<" Stt1 "<<in<<endl;//проверяем или подключились макросы и какие там значения
string put="C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\Версия2\\Версия2\\Эксперимент.h";//указываем путь
//к заголовочному файлу где хранятся макросы именно этот код мы и будем менять
ofstream file;
file.open(put,2);//далее подключаемся к заголовочному файлу в режиме перезаписи(8ка это режим дозаписи в конец файла)
file<<"#define St1 \"Не Пустая строка 1\""<<"\n";//переписываем макросы
file<<"#define St2 int k=18;"<<"\n";//этот макрос использовать не получиться потому что ранее мы его не подключили
file<<"#define Stt1 float in=34.582;"<<endl;//ранее он был int теперь флоат
file.close();
Нажимаем кнопку компилировать программу. Программа компилируется. Выбивается предупреждение
Этот файл был изменен вне редактора исходного текста. Перезагрузить его?(Нажимаем да)
, происходит зацикливание и создаётся эффект что программа сама себя переписала и вместо строк
C++
1
2
#define St1 "Пустая строка"
#define Stt1 int in=12;
видим строки
C++
1
2
3
#define St1 "Не Пустая строка 1"
#define St2 int k=18;
#define Stt1 float in=34.582;
Можно ли это использовать для расширяемости программ. Я конечно понимаю что здесь кроется много чего но было бы классно. Вполне возможно что здесь сыграет роль время компиляции программы хотя кто его знает. Можно ли написать функцию которая в реальном времени будет игнорировать тот факт что код изменился, или сделать вообще ничего нельзя.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.05.2020, 00:50
Ответы с готовыми решениями:

Выбор языка для программ, анализирующих и меняющих свой же собственный код
Посоветуйте язык программирования сверхвысокого уровня (ЯПСВУ), программа на котором могла бы в COMPILE TIME обрабатывать и изменять свой...

PHP выводящий свой собственный код без использования функции чтения файла
Написать PHP-скрипт, выводящий свой собственный код без использования функции чтения файла.

Какая программа может менять букву диска?
У нас в школе нельзя втыкать флешки в комп, но многие пытались, потом подходил учитель......... Но люди говорили, что они работают на...

41
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
31.08.2020, 09:07
Студворк — интернет-сервис помощи студентам
Коль славен наш скрипт-код в Питоне,
Не значит это, что врата,
В долину разума откроет
Его не спешная пята.

Видя постановку задачи, хочется спеть также и что-то вроде : "Далека дорога твоя...".
Дорога в бездну чистого разума, вымощена плитами из чистого кремния.
1
 Аватар для Nishen
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,831
31.08.2020, 12:42
Цитата Сообщение от Nexi99 Посмотреть сообщение
Идея моя такая допустим я читаю переменную с преобразованием в Чара потом мне нужно читать её как Шорт и как по вашему это реализовать через Питон, в этом случае нужно весь код писать на Питоне, ну или проверки делать.
А задачу практическую ты уже придумал под это?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2020, 12:42

Программа которая может менять атрибуты выбранных файлов
Написать программу которая может менять атрибуты выбранных файлов (Изманение, чтение, запись и т.д.) Должны меняться атрибуты файлов - по...

Программа не может открыть свой файл
Здравствуйте.Покликал по системе теперь при нажатии на файл открывается моя программа.Как сделать чтобы содержимое файла было показано в...

Слайдер, где у слайда может быть свой код
например, я хочу сделать слайдер картинок, где в каждом слайде может быть их несколько, у каждой - своя ссылка подскажите.

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

Программа, сохраняющая свой исходный код
Я решал задачу, в которой программа должна хранить свой исходный код. Как это лучше сделать?? 1. Сначала я подумал, может задействовать...


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

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №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, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru