Сообщение Re[96]: Java vs C# vs C++ от 11.10.2015 20:40
Изменено 11.10.2015 20:44 Serginio1
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Причём тут "во время исполнения"? Ты свой класс, для которого нужен IDispatch, меняешь в runtime? Ты этого не говорил в условии
S>> Я беру любую нетовскую сборку и использую её.
EP>От native варианта ты что хочешь? Взять любую DLL и сделать к ней wrapper?
Мой врапер работает с любой DLL без предварительного описания. В рефлекшине все есть.
S>>Есть свои сборки. То есть любую без предварительного описания.
EP>Ещё раз, SWIG не требует предварительного описания.
А что делает SWIG? Ты должен получить врапер причем статически. Или он компилирует на лету по исходникам?
S>>Нету у вас рефлекшина.
EP>Нету, это недостаток, сейчас кое-как эмулируется. При этом reflection не обязательно должен быть runtime — он может быть compile-time, и такой скорей всего и введут.
S>>>>За подсчетом ссылок кстати следит прокси Net. А как там у вас?
EP>>>Wrapper вестимо, а в чём проблема?
S>> Особенно на стеке
EP>Ты о чём?
S>>В Net value тип боксится
EP>В C++ объект любого типа можно создать где угодно (не считая несколько экстремальных случаев к теме не относящихся) — в любой кучке байт достаточного
размера
Кста в примерах только value типы. Нет там примеров с объектами, типами итд.
Как ваш врапер разберется с зоопарком менеджеров памяти?
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Причём тут "во время исполнения"? Ты свой класс, для которого нужен IDispatch, меняешь в runtime? Ты этого не говорил в условии
S>> Я беру любую нетовскую сборку и использую её.
EP>От native варианта ты что хочешь? Взять любую DLL и сделать к ней wrapper?
Мой врапер работает с любой DLL без предварительного описания. В рефлекшине все есть.
S>>Есть свои сборки. То есть любую без предварительного описания.
EP>Ещё раз, SWIG не требует предварительного описания.
А что делает SWIG? Ты должен получить врапер причем статически. Или он компилирует на лету по исходникам?
S>>Нету у вас рефлекшина.
EP>Нету, это недостаток, сейчас кое-как эмулируется. При этом reflection не обязательно должен быть runtime — он может быть compile-time, и такой скорей всего и введут.
S>>>>За подсчетом ссылок кстати следит прокси Net. А как там у вас?
EP>>>Wrapper вестимо, а в чём проблема?
S>> Особенно на стеке
EP>Ты о чём?
S>>В Net value тип боксится
EP>В C++ объект любого типа можно создать где угодно (не считая несколько экстремальных случаев к теме не относящихся) — в любой кучке байт достаточного
размера
Кста в примерах только value типы. Нет там примеров с объектами, типами итд.
Как ваш врапер разберется с зоопарком менеджеров памяти?
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Причём тут "во время исполнения"? Ты свой класс, для которого нужен IDispatch, меняешь в runtime? Ты этого не говорил в условии
S>> Я беру любую нетовскую сборку и использую её.
EP>От native варианта ты что хочешь? Взять любую DLL и сделать к ней wrapper?
Мой врапер работает с любой DLL без предварительного описания. В рефлекшине все есть.
S>>Есть свои сборки. То есть любую без предварительного описания.
EP>Ещё раз, SWIG не требует предварительного описания.
А что делает SWIG? Ты должен получить врапер причем статически. Или он компилирует на лету по исходникам?
S>>Нету у вас рефлекшина.
EP>Нету, это недостаток, сейчас кое-как эмулируется. При этом reflection не обязательно должен быть runtime — он может быть compile-time, и такой скорей всего и введут.
А зачем рефлекшн в compile-time? Он нужен как раз в runtime.
S>>>>За подсчетом ссылок кстати следит прокси Net. А как там у вас?
EP>>>Wrapper вестимо, а в чём проблема?
S>> Особенно на стеке
EP>Ты о чём?
S>>В Net value тип боксится
EP>В C++ объект любого типа можно создать где угодно (не считая несколько экстремальных случаев к теме не относящихся) — в любой кучке байт достаточного
размера
Кстати в примерах только value типы. Нет там примеров с объектами, типами итд.
Как ваш описатель врапера разберется с зоопарком менеджеров памяти?
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Причём тут "во время исполнения"? Ты свой класс, для которого нужен IDispatch, меняешь в runtime? Ты этого не говорил в условии
S>> Я беру любую нетовскую сборку и использую её.
EP>От native варианта ты что хочешь? Взять любую DLL и сделать к ней wrapper?
Мой врапер работает с любой DLL без предварительного описания. В рефлекшине все есть.
S>>Есть свои сборки. То есть любую без предварительного описания.
EP>Ещё раз, SWIG не требует предварительного описания.
А что делает SWIG? Ты должен получить врапер причем статически. Или он компилирует на лету по исходникам?
S>>Нету у вас рефлекшина.
EP>Нету, это недостаток, сейчас кое-как эмулируется. При этом reflection не обязательно должен быть runtime — он может быть compile-time, и такой скорей всего и введут.
А зачем рефлекшн в compile-time? Он нужен как раз в runtime.
S>>>>За подсчетом ссылок кстати следит прокси Net. А как там у вас?
EP>>>Wrapper вестимо, а в чём проблема?
S>> Особенно на стеке
EP>Ты о чём?
S>>В Net value тип боксится
EP>В C++ объект любого типа можно создать где угодно (не считая несколько экстремальных случаев к теме не относящихся) — в любой кучке байт достаточного
размера
Кстати в примерах только value типы. Нет там примеров с объектами, типами итд.
Как ваш описатель врапера разберется с зоопарком менеджеров памяти?