Перейти к содержанию

Пишу аналог COM для Linux/Unix/Etc только нормальный


Гость

Рекомендуемые сообщения

Вот собственно subj. только просьба не опускать и не говорить что

это никому не надо. Лучше предлагать дельные советы или помощь.

На всякий случай объясняю:

COM - это способ избежать проблемы возникающей при динамической

линковке бтблиотек содержащих классы или структуры изменяющиеся

(это важно) от версии к версии.

Возникающие проблемы - смещение адресов данных и идентификаторов

vtable.

COM версии M$ пошел простым путем - просто запретил изменять

интерефы после release'a. Я решил сделать по другому.

Пришел к выводу что нужен свой язык (близкий к C++) чтобы все

работало нормально (без интерфейсов) и с нормальным наследованием.

Основа написана - создает C (не C++) код который можно потом

уже любым компилятором собрать. Есть баги и проблемы но уже

(по крайней-мере) полученный код запускается.

Но работа еще далека от завершения:

- разобраться с циклическими ссылками

(в перл'е : $a={};$b={};$a->{b}=$b;$b->{a}=$a; - такая

структура не удалятся из памяти)

- шаблоны ? - понятия не имею как их _нормально_ реализовать.

- массивы (Есть vector который хранит любой объект а хочется

аналог my_class**array )

- Сама стандартная библиотека Wink

Поэтому очень надеюсь на вашу помощь.

Пишите сюда и на vahvarh@rbcmail.ru - буду признателен.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Если для твоего варианта COM нужен свой язык, то о какой его нормальности можно говорить? Короче, все-таки опустим Smile), - гиблый проект.

Успехов

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Эх, не понял ты COM под винды, не понял...

Ком прежде всего не зависит от языка, и тому подобной мишуры.

то, что пытаешься сделать ты, как я понимаю, просто язык с объектами, автоматически использующими подсчет ссылок для управления памятью. Поверь, даже если ты это закончишь, комом оно не станет.

Как такое поможет бороться с несовместимостью версий - непоянтно. Библиотеки, они и есть библиотеки.

И наконец: писать свой язык - действительно гиблое дело. Их и так выше крыши.Тем более что нужнаяя функциональность вполне укладывается в рамки С++.

С другой стороны, возможно, задача интересна сама по себе.

А что касается разрешения циклов - то тоа можно мноого чего придумать. Но прежде всего нужно унифицировать способ хранения ссылок на агрегируемые объекты.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...