2010-01-20 3 views
3

У меня есть приложение для Windows, использующее Visual C++. Его создание и запуск на 32-битных окнах env. Теперь мне нужно убедиться, что он работает на windows vista/7 64 bit env. Что мне нужно для этого процесса переноса?портирование с 32 бит на 64 бит

+2

Есть ли у вас портировать его на 64-разрядный или вы должны убедиться, что он работает на 64-битной ОС? –

+0

@Nikola, Чтобы быть точным, мне нужно убедиться, что он работает на 64-битной ОС. – Unicorn

ответ

7

Это не портирование от 32-х до 64 лет, что просто работает ваш код 32bit на 64-битной машине, чтобы убедиться, что он все еще работает.

Как это сделать, просто проверить все функции на 64-битной машине, как и каждый раз, когда вы выпускаете новую версию? :-)

Если вы действительно хотите его портировать (т. Е. Скомпилировать его на 64-битный исполняемый файл), первым шагом будет просто попробовать его. Вы можете найти, что он работает как есть. Я бы только беспокоился о портировании проблем, если вы попробуете, а затем появятся проблемы.

Тогда, и только тогда я буду искать причины. В противном случае это потенциально растраченное усилие.

+0

Слишком верно. Единственная существенная проблема с переносом, которую я имел, предполагает, что указатели имеют 4 байта и загружают файл с отображением памяти. Все остальное «просто работает». – Goz

0

Следует помнить, что если вы храните простые старые данные (POD) в файлы или передаете данные POD в другие приложения через IPC или сокеты и т. Д. У нас также был код, который предполагал длину в 4 байта, а также предполагаемый 4 байтовых указателя. Излишне говорить, что мы удалили эти анахронизмы.

Составители, как правило, хорошо разбираются в других видах ошибок, т. Е. Длинных преобразованиях int и т. Д. Таким образом, это обычно является лишь случаем прислушиваться к предупреждениям ваших компиляторов и соответствующим образом изменять ваш код.

1

Перед тем, как построить проект в режиме x64.

  1. Включите все необходимые 64 битого DLL файлов, необходимый для вашего проекта
  2. Включите Библиотеку файлов в линкере - дополнительная зависимость - свойства конфигурации.
  3. Добавить необходимые препроцессоры в C \ C++ - препроцессоры - свойства конфигурации.
  4. Включите 64-битных предупреждений - При компиляции компилятор показывает предупреждения

Ex

  1. Преобразование типа данных из int в size_t Могло потери данных
  2. Хранение указатель адреса
  3. Магия нет.

отсылает ссылку ниже для получения дополнительной информации ошибок и предупреждений при переносе http://www.viva64.com/en/a/0065/

Смежные вопросы