powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли редактировать файл исходника программы в работе самой программы?
13 сообщений из 13, страница 1 из 1
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985310
code_cpp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.
У меня есть простенькая программа, код которой помещается всего в одном файле. Программа, непрерывно работая, раз в единицу времени пересчитывает несколько чисел, которые я сохраняю в файл. Чтобы не плодить файлы, я решил сохранять числа в тот же файл, где записан код программы. Файл с программой вызывается из стороннего приложения, в написании которого я участия не принимал. Язык - lua.

Вроде работает так, как и ожидалось, но всё равно задам несколько вопросов.

1. Насколько это корректно и могут ли возникнуть какие-либо сложности?
2. Зависит ли здесь что-то от языка программирования и от того, компилируемый/интерпретируемый ли он?
3. Можно ли ещё каким-то способом сохранять еременные, не создавая лишних файлов?

Сам я так понял, что, скомпилировав программу, можно делать с файлом-исходником что угодно (до следующего запуска), поскольку скомпилированный код уже попал, куда надо.
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985324
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С lua не знаком вообще. Если язык компелируемый то работает экзешник а исходник можно читать как обычный текстовой фаил.

при интерпритации всё иначе. А что такого криминального в том чтоб создать отдельный файлик
для храненпя значений. Имхо так правельней!
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985335
code_cpp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное, правильнее, но не хочу множить файлы.
викиКак и многие интерпретируемые языки программирования, реализация Lua имеет отдельно компилятор с исходного языка в исполняемый байт-код и виртуальную машину для исполнения сгенерированного байт-кода. Причём байт-код — это не команды стековой машины, а команды некоего виртуального процессора с несколькими регистрами, что повышает эффективность исполнения. В стандартной виртуальной машине Lua используется распределение памяти со сборкой мусора (аналогично Java или .NET).

Lua использует единый строковый пул, что позволяет снизить расходы памяти на хранение строк.

Для задач, критичных по времени, имеется JIT-компилятор Lua — LuaJIT[7]. Также разработан компилятор llvm-lua[8], генерирующий код для виртуальной машины LLVM, предоставляющей возможность последующей компиляции в очень эффективный машинный код для процессоров различной архитектуры.

Это как понимать? Скомпилировавшийся код уже не зависит от текстового исходника или всё-таки зависит?
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985340
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после компеляции не конечно. Работает исполняемый фаил(в винде .exe)

А если будите заново компелировать(именно компелировать а не запускать)тогда изменения будут учитываться
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985343
code_cpp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После компиляции -- это понятно. А если интерпретатор стоИт -- то тоже во время выполнения изменения текстового файла не повлияют на работу программы?
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985400
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cpp,

В принципе тоже не должен!

Конечео если аджаесом пользуетесь чтото может быть смотря что менять!

Но ещё раз повторюсь это изврат!!!!
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985456
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cppА если интерпретатор стоИт -- то тоже во время выполнения изменения текстового файла не повлияют на работу программы?
Как повезёт. Каждый интерпретатор поступает по-своему.
Один читает каждую строку после выполнения предыдущей либо (например, так выполняются BAT/CMD скрипты) перечитывают файл, если считанное содержимое утрачено/повреждено -в таком случае изменение может привести к непредсказуемым последствиям, если смещение строки в файле изменилось.
Другой читает сразу весь файл и не обращается к нему повторно в процессе выполнения (кажется, именно так обрабатываются VBS/JS/PS скрипты).
В общем, надо тестить на конкретном интерпртаторе (включая конкретную версию! сомневаюсь, что этот момент документирован).
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985526
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cpp,

я не рискнула бы исходником, чтобы туда что то в темную записать

например
--запустили выполнение
--исходник открыли на запись куда то в начало
--считали исходник в память
--начало вернули на диск
-------------ERROR--при выполнении//отключение электричества/зависание/котяра улегся на клавиатуру.....----


Вы можете гарантировать , что допишите итог расчета и хвост проги
====
может у вас другая схема и вы предусмотрите всех тараканов ?
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985874
123876
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AreostarА если будите заново компелировать(именно компелировать а не запускать)тогда изменения будут учитываться
Сейчас компилятору умные пошли. Даже MS C умудряется компилить исходники на "лету" не перезапуская программу в дебаге. Java аналогично. Если не меняется сигнатура методов и описание классов. Х.з. как линкуют и восстанавливают предыдущее состояние программы.... как-то умудряются
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985898
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cppесть простенькая программа, код которой помещается всего в одном файле. Программа, непрерывно работая, раз в единицу времени пересчитывает несколько чисел, которые я сохраняю в файл. Чтобы не плодить файлы, я решил сохранять числа в тот же файл , где записан код программы.
Надеюсь ты понимаешь насколько навен и инфантилен подобный позыв.
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38985932
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cppЯзык - lua.
В соответствии с его синтаксисом ты вполне можешь позволить себе добавлять свои данные в конец файла (не изменяя его предыдущего содержимого - io.open("MyProg.lua","a+")), оформляя их как комментарий (первые три символа - два тире и пробел, "-- ").
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38986123
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
code_cppУ меня есть простенькая программа, код которой помещается всего в одном файле. Программа, непрерывно работая, раз в единицу времени пересчитывает несколько чисел, которые я сохраняю в файл. Чтобы не плодить файлы, я решил сохранять числа в тот же файл, где записан код программы. Уволить без выходного пособия.

code_cpp1. Насколько это корректно и могут ли возникнуть какие-либо сложности?Совершенно некорректно.
Если у тебя вдруг случится сбой и куски программы не запишутся - ты потеряешь этот исходник.
Если твой коллега решит подправить исходник программы а твоя супер-система не узнает что там есть исправления - потеряешь исходник программы.

code_cpp2. Зависит ли здесь что-то от языка программирования и от того, компилируемый/интерпретируемый ли он?Нет. Это зависит от общей организации процесса и разумности исполнителей и начальства.

code_cpp3. Можно ли ещё каким-то способом сохранять еременные, не создавая лишних файлов?Да. Можно пересоздавать файл данных.
Можно хранить цифры в базе.
Можно хранить каждый набор цифр в новом файле, а старые удалять или переносить в архив.

code_cppСам я так понял, что, скомпилировав программу, можно делать с файлом-исходником что угодно (до следующего запуска), поскольку скомпилированный код уже попал, куда надо.Нет. Ты понял не правильно. Читать учебники по компиляторам, интерпретаторам и JIT-компиляторам.
...
Рейтинг: 0 / 0
Можно ли редактировать файл исходника программы в работе самой программы?
    #38987323
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlcode_cppУ меня есть простенькая программа, код которой помещается всего в одном файле. Программа, непрерывно работая, раз в единицу времени пересчитывает несколько чисел, которые я сохраняю в файл. Чтобы не плодить файлы, я решил сохранять числа в тот же файл, где записан код программы. Уволить без выходного пособия.


+1


code_cpp Чтобы не плодить файлы

А цель? Файловая система на то и создана чтоб их плодить

В реестр можешь писать, если твой феншуй не позволяет "плодить файлы"
Но ИМХО твоя затея от лукавого
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли редактировать файл исходника программы в работе самой программы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]