начало разработки 64-битных приложений для Windows - PullRequest
1 голос
/ 07 декабря 2009

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

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

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

Заранее спасибо ..

Ответы [ 5 ]

3 голосов
/ 07 декабря 2009

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

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

2 голосов
/ 07 декабря 2009

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

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

1 голос
/ 07 декабря 2009

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

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

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

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

1 голос
/ 07 декабря 2009

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

0 голосов
/ 01 апреля 2010

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

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

...