Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Могу ли я использовать более новые версии Visual Studio для старых вещей?

Автор вопроса: Ptah- Opener of the MouthОтветов: 2

У меня есть несколько библиотек DLL на основе ATL / COM, на которых я использовал Visual C ++ 6.0. Мне требуется пара "старых" вещей из сгенерированных DLL:

(1) Они должны быть совместимы с проектами, разработанными в Visual Basic 6.0 (старый VB6, категорически не VB.Net).

(2) Они должны быть совместимы со старыми операционными системами - минимум Windows 98 SE. Чтобы быть ясным, я имею в виду, что они должны работать на таких ОС, а не на то, что мне нужно было бы иметь возможность разрабатывать их на машине, на которой работает такая ОС.

Мне надоела Visual Studio 6.0. Преобразование в Dot Net (или любое другое подобное изменение) в настоящее время исключено, поэтому я должен продолжать использовать VB6. Но могу ли я переключиться на новую версию Visual Studio C ++ с минимальными усилиями (т.е. с минимальным перекодированием, если оно вообще требуется)?

Если да, то есть ли какие-то "подводные камни", которых я должен остерегаться?

Спасибо.

visual-studiovisual-c++vb6atlcom

Ответы

Ответ 1 · рейтинг 2 · Charles Boyung

Различные версии VS.Net могут до некоторой степени открывать более старые проекты .Net, но ни одна из них не может открыть что-либо до .NET, что включает 6.0 на любом языке.

Вы должны иметь возможность создать новый проект C ++ в одном из приложений .Net VS и перестроить там свой проект C ++, и он должен работать, потому что неуправляемый код C ++ не требует среды выполнения .Net (и он по-прежнему компилируется в собственный машинный код ), но я уже давно не разбираюсь в C ++, поэтому я не уверен на 100%, что он будет работать.

Ответ 2 · pestilence669

Да, но это слегка болезненно. Вот почему большинство магазинов придерживаются VC6. Признаюсь, я не тестировал COM DLL в Windows 98, но еще в NT 4.0 с Visual Studio 2005.

Хочу подчеркнуть, что здесь нет минимальных усилий. В зависимости от того, как написан ваш код, преобразование может быть довольно болезненным. В одном проекте поиск и замена исправили 9 из 10 проблем. YMMV. Возможно, вам придется переписать часть низкоуровневой сантехники COM.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы