Вопрос

Я намерен начать писать 64-разрядное научное вычислительное приложение (обработка сигналов) для Windows с использованием Microsoft Visual Studio 2008.Что у меня должно быть готово в том, что касается платформы разработки?

Чем это будет отличаться от 32-битной разработки?Каковы могут быть проблемы с переносом для 32-разрядной версии, которая у меня уже есть (ok - возможно, об этом слишком рано спрашивать..даже до того, как я начну компиляцию)?

Как вы уже могли догадаться, я ищу общие указания.Все указатели были бы высоко оценены!:)

Заранее благодарю..

Это было полезно?

Решение

При установке Visual Studio 2008, обратите внимание на то, чтобы установить флажок, устанавливающий 64-разрядный компилятор и инструменты, поскольку по умолчанию это не так.

Затем вы можете обратиться к этим статьям за руководствами по миграции с 32 на 64-разрядную версию:

Другие советы

Разработка в 32-разрядной и 64-разрядной версиях одинакова, что касается разработки управляемого кода (.NET), при условии, что вы компилируете свой код usign ЛЮБОЙ вариант процессора.Таким образом, весь ваш код, разработанный на вашем компьютере, будет отлично работать как на 32-разрядной, так и на 64-разрядной платформе.

Если вы занимаетесь разработкой на родном C ++, то вам, возможно, придется скомпилировать в соответствии с конкретной платформой и скомпилировать дважды (один раз в x86 и еще один в x64).

Наиболее важным отличием является размер указателя.На 32 битах это 32 бита, а на 64 - это 64 бита.int и long остаются неизменными.

Во-первых, вы должны знать, что 64-разрядная версия Windows может работать как 64-разрядная, так и 32-разрядная в режиме эмуляции ВАУ 64 так что вам придется решить, хотите ли вы разрешить это или вас интересует только "чистая" 64-разрядная версия.
Предполагая, что вы хотите работать в обоих режимах, вам следует принять во внимание следующие моменты:

  1. Если ваше приложение использует реестр, вы должны учитывать, что некоторые ключи, такие как HKLM, содержат две записи.Например HKEY_LOCAL_MACHINE\SOFTWARE для 64 разрядных программ и HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node для 32-разрядных программ.Аналогично что если ваше приложение использует папку System32, теперь вам придется иметь дело с двумя папками:System32 для 64-разрядной версии и SysWOW64 для 32-разрядной.

  2. Если вы используете управляющий код, вы должны выбрать способ сборки приложения.Если он выполняет взаимодействие вызывает неуправляемый код, чем вам нужно собрать его дважды:один с установленной платформой x64 и один с установленной платформой x86.Если у вас нет вызовов неуправляемого кода, то вы можете создать его как платформу AnyCPU.

  3. И, очевидно, больше памяти (каждый указатель занимает 8 байт вместо 4 байт)

Все ответы на этот вопрос помогут вам.

Разработка Windows:переход с x86 на x64

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top