Delphi разработчик C++ к VisualStudio

Мы можем 'легко' (в некотором роде) скомпилировать Разработчика C++ проект в C++ VisualStudio 2005. Новый в C++ я ищу ссылки в том вопросе (CBuilder по сравнению с VS).Спасибо.

5
задан volvox 7 January 2010 в 01:31
поделиться

3 ответа

Ну, не совсем. Это правда, что "чистые" части C ++ должны компилироваться, у вас есть две очень большие проблемы, с которыми нужно иметь дело:

Во-первых, Borland сделала некоторые проприетарные расширения для C ++, чтобы сделать его совместимым со своими продуктами Delphi. Я не помню, что это такое, но они могут быть проблемой в зависимости от того, что вы делаете.

Но главная проблема - это VCL, основная библиотека графического интерфейса. Если вы разрабатываете в C ++ Builder, то в 99% случаев вы используете VCL, причем довольно интенсивно. AFAIK, VCL не будет компилироваться ни под одним компилятором Microsoft по многим причинам, включая ту, которую я уже упоминал.

По сути, вы застряли при переносе на .NET (или MFC, или что-то еще, если вы мазохист), если хотите, чтобы это работало под VisualStudio. Одним из ярких моментов здесь является то, что многие сторонние разработчики компонентов приняли .NET, поэтому вам, возможно, не придется проделывать столько работы для переноса проекта, сколько вы думаете.

4
ответ дан 14 December 2019 в 04:39
поделиться

Если Вы используете классы VCL, то не сможете скомпилировать свой код в Visual C++. VCL вводит в язык Си++ новые структуры языка, чтобы сделать его совместимым с delphi, __property и т.д. И даже если вы сможете перенести код ВКЛ в какую-нибудь внешнюю динамически связанную библиотеку, то все равно будет много проблем при вызове функций ВКЛ. Это связано с тем, что соглашение о вызове Borland __fastcall отличается от большинства других реализаций компилятора. Версия Borland передаёт в регистры 3 аргумента, в то время как большинство других компиляторов используют 2.

В целом, может возникнуть множество проблем из различных реализаций компилятора, в частности, если Вы используете ВКЛ или __fastcall соглашение о вызовах. Дело в C++ Builder заключается в том, что он собирается для совместимости с Delphi и VCL, и хотя VCL является отличным фреймворком для программ RAD и GUI, он добавляет стоимость меньшей совместимости с другими компиляторами

.
4
ответ дан 14 December 2019 в 04:39
поделиться

Ну, в конце концов, это все C++, так что вы можете включить файлы C++Builder в решение VS2005 и связать библиотеки. VS2005, несомненно, предпочтет MFC или .NET, чем все Turbo классы от C++Builder. Импорт ресурсов тоже может быть проблемой.

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

.
0
ответ дан 14 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: