олдскульная конфигурация
Mar. 8th, 2014 05:44 amУолтер Брайт вспоминает, как он сохранял конфигурацию в своих программах в те давние времена, когда будущие изобретатели XML еще пешком под стол ходили:
Думаю, он имееет в виду COM-файлы, потому что с EXE такое бы не вышло, если мне не изменяет память (из-за релокации). Хотя при желании в EXE-файле можно было бы перезаписать только часть, соответствующую глобальным переменным конфигурации - найти, где это, в файле было легко.
Back in the bad old DOS days, instead of creating a file format for saving/loading the configuration of the text editor, I simply wrote out the image in memory of the executable to the executable file. (The configuration was written to static global variables.)
Running the new executable then loaded the new configuration. This worked like a champ, up until the Age of Antivirus Software, which always had much grief over writing to executable files.
It's a trick I learned from the original Fortran version of ADVENT.
Думаю, он имееет в виду COM-файлы, потому что с EXE такое бы не вышло, если мне не изменяет память (из-за релокации). Хотя при желании в EXE-файле можно было бы перезаписать только часть, соответствующую глобальным переменным конфигурации - найти, где это, в файле было легко.
no subject
Date: 2014-03-08 03:52 am (UTC)no subject
Date: 2014-03-08 03:59 am (UTC)Но у EXE есть и преимущество. К его концу можно тупо дописывать данные.
no subject
Date: 2014-03-08 04:03 am (UTC)no subject
Date: 2014-03-08 04:09 am (UTC)no subject
Date: 2014-03-08 04:11 am (UTC)no subject
Date: 2014-03-08 04:20 am (UTC)no subject
Date: 2014-03-08 04:32 am (UTC)no subject
Date: 2014-03-08 04:47 am (UTC)no subject
Date: 2014-03-08 04:48 am (UTC)no subject
Date: 2014-03-08 04:57 am (UTC)no subject
Date: 2014-03-08 05:17 am (UTC)no subject
Date: 2014-03-08 05:17 am (UTC)no subject
Date: 2014-03-08 06:19 am (UTC)А для exe был другой трюк. У него просто узнать размер (из заголовка), и всякие данные можно было сохранять в конце exe-файла.
Дело в том, что один exe-файл считался удобнее, чем несколько файлов (exe, cfg, картинка какая-нибудь).
no subject
Date: 2014-03-08 06:24 am (UTC)Ясен пень, все это было до массового появления вирусов и запретов на изменения исполняемых файлов.
no subject
Date: 2014-03-08 07:57 am (UTC)no subject
Date: 2014-03-08 07:58 am (UTC)no subject
Date: 2014-03-08 09:34 am (UTC)no subject
Date: 2014-03-08 09:42 am (UTC)no subject
Date: 2014-03-08 12:09 pm (UTC)no subject
Date: 2014-03-08 12:21 pm (UTC)upd: хотя в данном конкретном случае static означает "имеющая постоянное место (адрес)".
no subject
Date: 2014-03-08 12:27 pm (UTC)Ещё удобно, что конфиги firefox лежат в распространённых форматах, json + SQLite.
Сохранение дампа памяти - плохо переносится между архитектурами, и сложнее версионируется.
no subject
Date: 2014-03-08 01:11 pm (UTC)no subject
Date: 2014-03-08 02:00 pm (UTC)А ещё было не понятно, какой вариант исполняемого файла - "правильный". Помню, какой-то русификатор из-за неправильной опции глючил и починить можно было только найдя "непопорченный".
no subject
Date: 2014-03-08 03:21 pm (UTC)Ещё мне вспомнилась статья про забытые старые техники — http://scottlocklin.wordpress.com/2013/07/28/ruins-of-forgotten-empires-apl-languages/
no subject
Date: 2014-03-08 03:36 pm (UTC)no subject
Date: 2014-03-08 04:04 pm (UTC)С ходу под моим линухом это не завелось, что-то разъехалось в регистрах символов названий файлов в профиле. Так что не всё так радужно. Но починилось быстро, помнится достаточно было сделать lowercase всему.
no subject
Date: 2014-03-09 12:50 am (UTC)no subject
Date: 2014-03-09 06:55 am (UTC)no subject
Date: 2014-03-10 08:25 pm (UTC)no subject
Date: 2014-03-10 08:28 pm (UTC)no subject
Date: 2014-03-11 05:52 am (UTC)no subject
Date: 2014-03-18 06:38 pm (UTC)