Преобразование библиотек Visual Studio 6 в Visual Studio 10 - PullRequest
3 голосов
/ 08 марта 2012

Сейчас я просто смотрю на варианты, но у меня есть большое количество библиотек C, которые были написаны в Visual Studio 6 как статически связанные .lib.Необходимо разработать более новую разработку в Visual Studio 2010, которая будет вызывать эти библиотеки, и было решено, что, хотя существуют возможные решения для вызова этих старых библиотек, их следует обновить до Visual Studio 2010. Как часть этого преобразования,похоже, что мы могли бы также преобразовать их в язык OO.Будь то C ++, C ++ / CLR или C # - вопрос для обсуждения.

В C # могут быть написаны новые приложения, которые будут вызывать эти библиотеки.

Во что лучше всего конвертировать библиотеки?Это также должен быть довольно простой (т.е. не слишком трудоемкий) вариант.Я думаю, что преобразование их в C # будет слишком большой работой.Неуправляемый C ++ будет самым простым, но будет ли C ++ / CLR хорошим промежуточным звеном?Я думаю, что здесь проще вызвать C ++ / CLR из C #, чем неуправляемый C ++, и поэтому стоило бы немного больше работы здесь

1 Ответ

5 голосов
/ 08 марта 2012

Перезапись с нуля не вариант.Существует более 100 библиотек и много кода.

Если переписать их не вариант, я не понимаю этого утверждения.

В рамках этого преобразованияпохоже, что мы могли бы также преобразовать их в язык OO.Будь то C ++, C ++ / CLR или C # - вопрос для обсуждения.

Вы не можете "преобразовать" код C в код C # и / или C ++ / CLR.Единственным правильным термином будет полное и полное переписывание.Похоже, вам лучше просто загрузить проект в новейшую визуальную студию и скомпилировать его как есть.

Если он уже работает, нет смысла менять язык, на котором написана dll.

Судя по звукам ... Вы, кажется, не знакомы ни с одним из языков, которые вы предлагаете, учитывая, что у вас возник вопрос о термине unmanaged C++.

Мы уже пошли по пути, оставляя эти библиотеки как C, написанные в VS 6, и пытаясь вызвать их из C #, написанного в VS 2010. Это стало немного грязным, и было решено, что это не очень хорошее долгосрочное направление.

Это означает, что ваш единственный реальный выбор - переписать библиотеки, чтобы с ними было легче работать.Просто переход на C ++ не решит проблемы, с которыми вы столкнулись.Вы можете использовать соглашения в стиле C в C ++ без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...