| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Совместимость Builder C++ с Visual C++ |
| Автор: umator 2.9.2002, 19:47 |
| В чём причина невозможности работы с объектами C++ (в особенности содержащими виртуальные функции) создаваемыми Builder в программе созданной на Visual C++. На Builder C++ создана DLL, использует её программа на Visual C++. Функции DLL возвращают создаваемые ими объекты. |
| Автор: Fantasist 3.9.2002, 04:02 |
| То есть это в общем-то не о совместимости С++ компиляторов по отношению к языку С++, а об использовании скомпилированного кода одним компилятором в другом. Ну что ж, могу с уверенностью сказать, что по поводу того, как нужно создавать скомпилированный код, никаких стандартов нет. Так что о какой совместимости может быть речь? Если же ты хочешь получить совместимость объектов на уровне бинарного кода, используй COM технологию. Ну или по крайней мере какую-то ее адаптацию к своим нуждам. |
| Автор: umator 3.9.2002, 04:30 |
| Я столкнулся с такой проблемой, что не могу использовать в программе написанной на Visual C++ динамические библиотеки (DLL) написанные на Builder C++ по причине того, что функции последних создают и возвращают указатели на объекты с виртуальными функциями в своём формате, а программа о нём ничего не зная пытается интерпретировать их по своему. |
| Автор: Fantasist 3.9.2002, 08:58 | ||
Правильно. Об этом я и сказал, не так ли. А что от нас ожидается узнать. В том смысле, что мы должны ответить? |
| Автор: umator 3.9.2002, 16:37 |
| Вопрос задан в самом первом пункте |
| Автор: Fantasist 4.9.2002, 03:44 | ||
Да что угодно. Это его(компилятора) личное дело. Как хочет так и генерит код. Пользователя это заботить не должно, ибо он все равно ничего с этим поделать не может(по большому счету). Например, в билдере, насколько я помню, все классы наследуются от TObject. Конечно, можно взять отладчик, дизассемблер, да и посмотреть что за код там получается, но это вряд ли тебе даст что-то полезное. |
| Автор: umator 4.9.2002, 16:17 |
| А есть ли у тебя сведения по конкретней? Думаю не я один сталкивался с такой проблемой и наверняка кто-нибудь уже посвятил своё время изучению данной проблемы. |
| Автор: Fantasist 5.9.2002, 02:55 |
| Смотря какую проблему ты имеешь в виду. Если проблема в использовании объектов - используй COM. Если вопрос о том, какой генериться код, то таких сведений у меня нет. |