Не следует создавать 64-битную версию приложения с коротким жизненным циклом. Благодаря подсистеме старые 32-битные приложения достаточно хорошо работают на 64-битных Windows системах и поэтому делать программу 64-битной, которая через 2 года перестанет поддерживаться, смысла не имеет [ ]. Более того, практика показала, что переход на 64-битные версии Windows затянулся и возможно большинство ваших пользователей в краткосрочной перспективе будут использовать только 32-битный вариант вашего программного решения.
2.1. Продолжительность жизненного цикла приложений
Перечислим основные факторы, которые помогут сделать вам выбор.
Начать освоение 64-битных систем следует с вопроса "А нужно ли нам пересобрать свой проект для 64-битной системы?". На этот вопрос надо обязательно дать ответ, но не торопясь, подумав. С одной стороны можно отстать от своих конкурентов, вовремя не предложив 64-битные решения. С другой - можно впустую потратить время на 64-битное приложение, которое не даст никаких конкурентных преимуществ.
2. Шаг второй. Выясните, нужен ли вам 64-битный вариант вашего продукта
Используемая модель данных накладывает отпечаток на процесс разработки 64-битных приложений, так как в коде программ необходимо учитывать разрядность используемых данных [ ].
Таблица N1. Модели данных
Говоря о различных архитектурах, следует упомянуть о понятии " ". Под моделью данных следует понимать соотношения размерностей типов, принятых в рамках среды разработки. Для одной операционной системы могут существовать несколько средств разработки, придерживающихся разных моделей данных. Но обычно преобладает только одна модель, наиболее соответствующая аппаратной и программной среде. Примером может служить 64-битная операционная система Windows, в которой родной моделью данных является . Но для совместимости 64-битная система Windows поддерживает исполнение 32-битных программ, которые работают в режиме модели данных . В таблице N1 приведены сведения об основных моделях данных.
Далее в статье мы будем говорить только об архитектуре AMD64 (EM64T, x64), так как ее использование сейчас наиболее актуально для разработчиков прикладного программного обеспечения.
AMD64 и IA-64 это две различные 64-битные архитектуры не совместимые между собой. Поэтому разработчикам следует сразу решить, необходимо ли поддерживать обе эти архитектуры или только одну. В большинстве случаев, если вы не разрабатываете узкоспециализированное программное обеспечение для кластерных систем или не реализуете свою высокопроизводительную СУБД, то с большой вероятностью вам необходимо реализовать поддержку только архитектуры AMD64, которая получила значительно большее распространение, чем IA-64. Особенно это относится к программному обеспечению для рынка персональных компьютеров, который почти на 100 процентов занят архитектурой AMD64.
IA-64 - 64-битная микропроцессорная архитектура, разработанная совместно компаниями Intel и Hewlett Packard [ ]. Реализована в микропроцессорах Itanium и Itanium 2 [ ]. Архитектура используется в основном в многопроцессорных серверах и кластерных системах.
AMD64 (она же x86-64, Intel 64, EM64T, x64) - 64-битная архитектура микропроцессора и соответствующий набор инструкций, разработанные компанией AMD [ ]. Этот набор инструкций был лицензирован компанией Intel под названием EM64T (Intel64). Архитектура AMD64 представляет собой расширение архитектуры x86 с полной обратной совместимостью. Архитектура получила широкое распространение в качестве базы персональных компьютеров и рабочих станций.
В рамках архитектуры вычислительной техники под термином " " понимают 64-битные целые и другие типы данных, имеющих размер 64 бита. Под "64-битными" системами могут пониматься 64-битные архитектуры микропроцессоров (например, EM64T, IA-64) или 64-битные операционные системы (например, Windows XP Professional x64 Edition) [ ].
1. Шаг первый. 64-битность бывает разной. Давайте разберемся
В статье описаны основные моменты, с которыми сталкиваются разработчики, планирующие мигрировать 32-битные программы на 64-битные системы. Конечно, список рассмотренных вопросов не полон, но хочется надеяться, что со временем будет предложен расширенный вариант этой статьи. Автор будет благодарен отзывам, комментариям и вопросам, которые позволят улучшить информативность этой статьи.
В статье рассмотрены основные шаги, обеспечивающие корректный перенос 32-битных Windows приложений на 64-битные Windows системы. Хотя статья ориентирована на разработчиков, использующих язык Си/Си++ в среде Visual Studio 2005/2008, она будет полезна и другим разработчикам, планирующим перенос своих приложений под 64-битные системы.
7 шагов по переносу программы на 64-битную систему
7 шагов по переносу программы на 64-битную систему
Статический анализатор кода для C/C++/C++11
7 шагов по переносу программы на 64-битную систему
Комментариев нет:
Отправить комментарий