2010-06-30 3 views
1

У меня есть приложение VC++, разработанное в VC6. в настоящее время он поддерживает 32-битные операционные системы. Мое требование скрывать это приложение для поддержки 64-битных операционных систем (например, Windows 7, сервер Windoes 2008 и т. Д.).Миграция 32-битного OS VC++ приложения на 64-битное приложение OS VC++

Что такое простой способ/шаги/процедура для переноса такого приложения?

+0

То же, что и этот? http://stackoverflow.com/questions/3148170/supporting-64bit-os-which-currently-works-in-32-bit-os – Rup

ответ

1

На практике, если вы используете все типы данных, как это должно быть, проблем не должно быть. Типичные ошибки, которые сделаны, являются:

  • используя [беззнаковое] долго вместо size_t когда речь идет о размерах
  • вычитая указатели и назначая результат на долгое (должен быть ptrdiff_t или что-то вроде этого)
  • превращающего указатели на длинные или длинные указатели на

на странице http://msdn.microsoft.com/en-us/library/aa384198%28v=VS.85%29.aspx на сайте MSDN Microsoft дает список важных вещей, чтобы думать о том, когда будет 64-битным.

Надеюсь, это поможет.

+0

Для 32-разрядного приложения для работы с 64-разрядной ОС нам нужно скомпилировать наш источник используя 64-битный компилятор? – coolcake

+0

Visual Studio 2010 имеет командный файл, который устанавливает необходимые переменные среды для вашей компиляции. Ищите VCVARSALL.BAT. Выполните это в командной строке и дайте ему желаемый тип компиляции. Например. «VSVARSALL X86» устанавливает все готовое для 32-битных компиляций. «VSVARSALL X64» устанавливает все готовое для 64-битных компиляций. – Patrick