chess писал(а):
сделал это урезание автоматическим, путем введения многопроходной (3 прохода) трансляции программ.
Поэтому ФортСистема(рабочая смесь) изначально ничего не отъедала.
Ну так великолепный подход при кросс-трансляции. И я думал поначалу сделать также. Но потом взял и сделал шизовую систему без кросс-трансляции. К которой можно подключаться терминалом по RS-232 и вручную системой управлять, а если надо, то скармливать ей исходник - она сама себя дошьет. AVR сам свою флеш дошивает, то есть компилирует в себя сама целевая система. В частном случае этой системой оказалась даже смарт-карта. Не знаю почему сделал именно так, наверное потому, что офигенно чумово выглядит. Особенно со смарт-картой, потому-что компилятор находится на самой смарт-карте, а это что-то с чем-то. Вообще, когда мне приходит в голову всякая шиза я ее тут-же реализую. Чтобы шиза ожила.
Щас расскажу про еще одну шизу, чтобы сменить тему разговора, а то если Гудлейфр еще не доехал, то уже и не доедет о чем я говорю. Иначе препирательство будет бесконечным.
Дело было во времена Win-98SE + XP. Шиза была такая.
К виндозной программе добавляется DOS-овский stub.
Один раз я взял и написал одно и то-же консольное, но полноэкранное
вроде Norton Commander-а, приложение на SPF 2.x под DOS и абсолютно
то-же самое на SPF 3.x под Windows. Приложение обеспечивало удобную
работу с некоторым агрегатом через RS-232. При этом досовский вариант
работал с COM-портами через порты ввода-вывода, а виндозный через
вызовы Windows-API. А потом взял и вмонтировал досовский вариант в
качестве stub в виндозный. Получилась программа которую все равно
где запускать. И увидел я, что это шизово и хорошо.
А потом пришла в голову мысль, а как сделать так, чтобы это были
не две разные программы, вложенные друг в друга матрешкой, в
которых задача закодирана шитым кодом в двух разных экземплярах,
а чтобы шитый код для обоих варинтов был общий ? Просто в качестве
реализации красивой, шизовой идеи. И подумал я, что если виндозная
программа будет 16-разрядной NE-Executable, то это будет вполне реально.
Более того у большей части слов их виндозная и досовская реализации нативным
кодом будут совпадать. И только совсем малая часть нативной реализации
слов должна будет ветвиться - где я запушена ? в ДОС-е или в Винде ?
И начал даже наметку такого досо-виндозного форта рисовать. И все
складывалось везде на редкость удачно, но разбилось об одну единственную
фигню - NE-приложения не знают что такое консоль. Они работают только с
окнами и больше ни с чем. Я даже книжку по внутренностиям Win-3.x
скачал, но нигде не нашел упоминания о связи NE-приложения хоть с
какой-то консолью. В Win 3.x не было консольных виндозных приложений.
Роль таковых в ней играли досовские. И ни досовиндозный Форт не нарисовать -
ему консоль нужна и даже одно приложение не сделать - если рисовать его
виндозный вариант оконным, то виндозный и досовский варианты шитого
кода перестанут иметь общее семантически. Вот ведь блин.