![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| umator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 21.7.2002 Репутация: нет Всего: нет |
В чём причина невозможности работы с объектами C++ (в особенности содержащими виртуальные функции) создаваемыми Builder в программе созданной на Visual C++. На Builder C++ создана DLL, использует её программа на Visual C++. Функции DLL возвращают создаваемые ими объекты.
|
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
То есть это в общем-то не о совместимости С++ компиляторов по отношению к языку С++, а об использовании скомпилированного кода одним компилятором в другом. Ну что ж, могу с уверенностью сказать, что по поводу того, как нужно создавать скомпилированный код, никаких стандартов нет. Так что о какой совместимости может быть речь? Если же ты хочешь получить совместимость объектов на уровне бинарного кода, используй COM технологию. Ну или по крайней мере какую-то ее адаптацию к своим нуждам.
-------------------- Волны гасят ветер... |
|||
|
||||
| umator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 21.7.2002 Репутация: нет Всего: нет |
Я столкнулся с такой проблемой, что не могу использовать в программе написанной на Visual C++ динамические библиотеки (DLL) написанные на Builder C++ по причине того, что функции последних создают и возвращают указатели на объекты с виртуальными функциями в своём формате, а программа о нём ничего не зная пытается интерпретировать их по своему.
|
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Правильно. Об этом я и сказал, не так ли. А что от нас ожидается узнать. В том смысле, что мы должны ответить? -------------------- Волны гасят ветер... |
|||
|
||||
| umator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 21.7.2002 Репутация: нет Всего: нет |
Вопрос задан в самом первом пункте
|
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Да что угодно. Это его(компилятора) личное дело. Как хочет так и генерит код. Пользователя это заботить не должно, ибо он все равно ничего с этим поделать не может(по большому счету). Например, в билдере, насколько я помню, все классы наследуются от TObject. Конечно, можно взять отладчик, дизассемблер, да и посмотреть что за код там получается, но это вряд ли тебе даст что-то полезное. -------------------- Волны гасят ветер... |
|||
|
||||
| umator |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 21.7.2002 Репутация: нет Всего: нет |
А есть ли у тебя сведения по конкретней? Думаю не я один сталкивался с такой проблемой и наверняка кто-нибудь уже посвятил своё время изучению данной проблемы.
|
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Смотря какую проблему ты имеешь в виду. Если проблема в использовании объектов - используй COM. Если вопрос о том, какой генериться код, то таких сведений у меня нет.
-------------------- Волны гасят ветер... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |