Какой офис ставить 32 или 64. Необходимо обновить код VBA, использующий инструкции Declare. Совместимость интерфейсов API

Сводка. Для пользователей, работающих с данными объемом 2 ГБ и более, теперь доступна 64-разрядная версия Microsoft Office 2010. В этой статье рассмотрена совместимость 32-разрядной и новой 64-разрядной версий, а также старых 32-разрядных приложений Office и решений для них (7 печатных страниц).

Применимо к: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Visual Basic for Applications 7.0 (VBA 7.0) | Word 2010

В этой статье

Введение в базу кода VBA 7
Совместимость интерфейсов API
Вопросы и ответы
Заключение
Дополнительные ресурсы

    Введение в 32- и 64-разрядные версии Microsoft Office 2010

    Сравнение 32-разрядных систем с 64-разрядными

    Введение в базу кода VBA 7

    Совместимость элементов управления ActiveX и надстроек COM

    Совместимость интерфейсов API

    Использование атрибутов условной компиляции

    Вопросы и ответы

    Заключение

    Дополнительные ресурсы

Введение в 32- и 64-разрядные версии Microsoft Office 2010

Система Microsoft Office 2010 доступна в 32- и 64-разрядной версии. 64-разрядная версия позволяет работать с гораздо большими объемами данных. Это особенно заметно при работе с большими числами в Microsoft Excel 2010.

С выходом новой 64-разрядной версии Microsoft Office 2010 выпускается новая версия Microsoft Visual Basic для приложений (VBA), известная как Microsoft Visual Basic для приложений 7.0 (VBA 7), которая сможет работать с 32- и 64-разрядными приложениями. Следует отметить, что изменения, описанные в этой статье, применимы только к 64-разрядной версии Microsoft Office 2010. Использование 32-разрядной версии Office 2010 позволяет применять решения, встроенные в предыдущие версии Microsoft Office, без их изменения.

Примечание

При стандартной установке Office 2010 устанавливается 32-разрядная версия, даже на 64-разрядных системах. Следует явно выбрать установку 64-разрядной версии Office 2010.

В VBA 7 следует обновить операторы существующего интерфейса API Windows (операторы Declare) для работы с 64-разрядной версией. Кроме того, следует обновить указатели адреса и дескрипторы окон в типах, определенных пользователем, которые используются в этих операторах. Это описывается более подробно далее в этой статье, как и проблемы совместимости 32- и 64-разрядной версии Office 2010 и возможные решения.

Сравнение 32-разрядных систем с 64-разрядными

Приложения, созданные с помощью 64-разрядной версии Office 2010, могут ссылаться на большие адресные пространства и таким образом использовать больше физической памяти, что снижает затраты на перемещение данных в физическую память и из нее.

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

При запуске существующих решений с 64-разрядной версией Office 2010 есть две основных проблем.

    Собственные 64-разрядные процессы в Office 2010 не могут загружать 32-разрядные двоичные файлы. Это происходит при использовании существующих элементов управления Microsoft ActiveX и надстроек.

    В VBA ранее не было типа данных указателя, и поэтому разработчики использовали 32-разрядные переменные для хранения указателей и дескрипторов. Теперь при использовании операторов Declare эти переменные усекают 64-разрядные значения, возвращаемые вызовами интерфейса API.

Введение в базу кода VBA 7

VBA 7 - это новая база кода, которая заменяет предыдущую версию VBA. Язык VBA 7 существует как для 32-разрядных, так и 64-разрядных версий Office 2010. Он предоставляет две константы условной компиляции: VBA7 и Win64. Константа VBA7 обеспечивает обратную совместимость кода, проверяя, использует ли приложение VBA 7 или предыдущую версию VBA. Константа Win64 используется для проверки, выполняется ли код как 32-разрядный или 64-разрядный. Использование обеих этих констант компиляции показано далее в этой статье.

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

Совместимость элементов управления ActiveX и надстроек COM

Существующие 32-разрядные элементы управления ActiveX, как от корпорации Майкрософт, так и от других производителей, несовместимые с 64-разрядной версией Office 2010. Для элементов управления ActiveX и COM-объектов существует три возможных решения.

    Если есть исходный код, можно самому создать 64-разрядную версию.

    Можно обратиться к производителю для получения обновленной версии.

    Можно выполнить поиск альтернативного решения.

В 64-разрядной версии Office 2010 невозможно загрузить 32-разрядные двоичные файлы, а значит, и стандартные элементы управления MSComCtl (TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListViews, ImageList, Slider, ImageComboBox) и элементы управления MSComCt2 (Animation, UpDown, MonthView, DateTimePicker, FlatScrollBar). Эти элементы управления устанавливались с предыдущими версиями Microsoft Office и устанавливаются с 32-разрядной версией Office 2010. Следует найти альтернативу существующим решениям VBA для Microsoft Office, которые используют эти элементы управления при переносе кода в 64-разрядную версию Office 2010. В 64-разрядной версии Office 2010 не предусмотрены 64-разрядные версии стандартных элементов управления.

Совместимость интерфейсов API

Сочетание VBA и библиотек типов предоставляет множество возможностей для создания приложений Microsoft Office. Однако иногда следует взаимодействовать напрямую с операционной системой и другими компонентами компьютера, например, при управлении памятью или процессами, при работе с интерфейсом пользователя (окнами и элементами управления) или при изменении реестра Windows. В этих случаях лучше всего использовать внешние функции, встроенные в библиотеки DLL. В VBA это возможно с помощью вызовов API с использованием операторов Declare.

Примечание

Майкрософт предоставляет файл Win32API.txt, который содержит 1500 операторов Declare и средство для копирования и вставки оператора Declare в код. Но эти операторы предназначены для 32-разрядных систем, и их нужно преобразовать в 64-разрядные операторы, используя сведения, представленные далее в этой статье. Компиляция существующих операторов Declare в 64-разрядной версии VBA будет невозможна, пока они не будут помечены как безопасные для нее с помощью атрибута PtrSafe. Примеры таких преобразований можно найти на веб-сайте специалиста MVP по Excel Яна Карела Питерсе (Jan Karel Pieterse) по адресу http://www.jkp-ads.com/articles/apideclarations.asp .

В статье Руководство пользователя для инспектора совместимости кода Microsoft Office описано полезное средство для проверки использования (в случае необходимости) атрибута PtrSafe и соответствующего типа возвращаемого значения в синтаксисе операторов Declare для интерфейса API.

Операторы Declare похожи на один из следующих примеров в зависимости от того, вызывается ли подпрограмма (без возвращаемого значения) или функция (с возвращаемым значением).

Public/Private Declare Sub SubName Lib "LibName" Alias "AliasName" (argument list) Public/Private Declare Function FunctionName Lib "Libname" alias "aliasname" (argument list) As Type

Функция SubName или FunctionName заменяется фактическим именем процедуры в DLL-файле и представляет имя, которое используется при вызове процедуры в коде VBA. Можно также указать аргумент AliasName для имени процедуры, если это необходимо. Имя DLL-файла, который содержит вызываемую процедуру, следует за ключевым словом Lib . И, наконец, список аргументов содержит параметры и типы данных, которые следует передать процедуре.

Следующий оператор Declare открывает подраздел реестра Windows и заменяет его значение.

Declare Function RegOpenKeyA Lib "advapi32.dll" (ByVal Key As Long, ByVal SubKey As String, NewKey As Long) As Long

Запись Windows.h (дескриптор окна) для функции RegOpenKeyA выглядит следующим образом.

LONG RegOpenKeyA (HKEY hKey, LPCSTR lpSubKey, HKEY *phkResult);

В Microsoft Visual C и Microsoft Visual C++ предыдущий пример компилируется без ошибок для 32-разрядной и 64-разрядной версии. Это происходит потому, что HKEY определен как указатель, размер которого отражает размер памяти платформы, в которой компилируется код.

В предыдущих версиях VBA не было определенного типа данных указателя, поэтому использовался тип Long. Так как тип данных Long всегда 32-разрядный, при использовании в системе с 64-разрядной памятью старшие 32 разряда могут усекаться, или запись может происходить в другие адреса памяти. Обе этих ситуации могут привести к непредвиденному поведению или сбою системы.

Чтобы устранить эту проблему, в VBA теперь есть настоящий тип данных указателя : LongPtr. Этот новый тип данных позволяет записывать оператор Declare правильно:

Declare PtrSafe Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey as LongPtr, ByVal lpSubKey As String, phkResult As LongPtr) As Long

Этот тип данных и новый атрибут PtrSafe позволяют использовать оператор Declare в 32- и 64-разрядных системах. Атрибут PtrSafe показывает компилятору VBA, что оператор Declare предназначен для 64-разрядной версии Office 2010. Без этого атрибута при использовании оператора Declare в 64-разрядной системе возникнет ошибка компиляции. Обратите внимание, что атрибут PtrSafe в 32-разрядной версии Office 2010 необязателен. Это позволяет существующим операторам Declare работать как обычно.

В следующей таблице описывается новый квалификатор и тип данных, а также другой тип данных, два оператора преобразования и три функции.

Описание

Квалификатор

Обозначает, что оператор Declare совместим с 64-разрядными системами. Этот атрибут обязателен для 64-разрядных систем.

Тип данных

Тип данных переменной, состоящей из 4 байт в 32-разрядных версиях и из 8 байт в 64-разрядных версиях Office 2010. Это рекомендуемый способ объявления указателя или дескриптора в новом коде, а также в старом коде, если он будет выполняться в 64-разрядной версии Office 2010. Эта возможность поддерживается только в среде выполнения VBA 7 в 32- и 64-разрядных системах. Обратите внимание, что этой переменной можно назначать числовые значения, но не числовые типы.

Тип данных

Это 8-байтовый тип данных, доступный только в 64-разрядных версиях Office 2010. Этому типу можно назначать числовые значения, но не числовые типы (чтобы избежать усечения).

Оператор преобразования

Преобразует простое выражение в тип данных LongPtr.

Оператор преобразования

Преобразует простое выражение в тип данных LongLong.

Преобразователь вариантов. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

Преобразователь объектов. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

Преобразователь строк. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

В следующем примере показано, как использовать эти элементы в операторе Declare.

Declare PtrSafe Function RegOpenKeyA Lib "advapi32.dll" (ByVal Key As LongPtr, ByVal SubKey As String, NewKey As LongPtr) As Long

Предполагается, что операторы Declare без атрибута PtrSafe не совместимы с 64-разрядной версией Office 2010.

Как было указано ранее, есть две новые константы для условной компиляции: VBA7 и Win64. Для обеспечения обратной совместимости с предыдущими версиями Microsoft Office используется константа VBA7 (это более распространено), чтобы не допустить использование 64-разрядного кода в более ранних версиях Microsoft Office. Если код для 32- версии отличается от такого же кода для 64-разрядной версии (например, для вызова математического интерфейса API в случае 64-разрядной версии используется LongLong, а в случае 32-разрядной версии - Long), нужно использовать константу Win64. В следующем примере кода показано использование этих двух констант.

#if Win64 then Declare PtrSafe Function MyMathFunc Lib "User32" (ByVal N As LongLong) As LongLong #else Declare Function MyMathFunc Lib "User32" (ByVal N As Long) As Long #end if #if VBA7 then Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N AS Long) #else Declare Sub MessageBeep Lib "User32" (ByVal N AS Long) #end if

Подводя итоги, можно сказать, что при написании 64-разрядного кода, который будет использоваться в предыдущих версиях Microsoft Office, следует применять константу условной компиляции VBA7. Однако при написании 32-разрядного кода в Office 2010 он работает как и в предыдущих версиях Microsoft Office без применения константы компиляции. Если требуется обеспечить использование 32-разрядных операторов для 32-разрядных версий и 64-разрядных операторов для 64-разрядных версий, лучше всего использовать константу условной компиляции Win64.

Использование атрибутов условной компиляции

Старый код VBA

Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type

Новый код VBA

#if VBA7 then " VBA7 Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As LongPtr pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As LongPtr lParam As LongPtr iImage As Long End Type #else " Downlevel when using previous version of VBA7 Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type #end if Sub TestSHBrowseForFolder () Dim bInfo As BROWSEINFO Dim pidList As Long bInfo.pidlRoot = 0& bInfo.ulFlags = &H1 pidList = SHBrowseForFolder(bInfo) End Sub

Вопросы и ответы

Ниже приведены вопросы и ответы по 32- и 64-разрядной версиям Microsoft Office.

    Когда следует использовать 64-разрядную версию Microsoft Office?
    В основном это зависит от того, какое ведущее приложение используется (Excel, Word и т. д.). Например, приложение Excel в 64-разрядной версии Microsoft Office может обрабатывать листы гораздо больших размеров.

    Можно ли устанавливать 64- и 32-разрядную версии Microsoft Office одновременно?
    Нет.

    Когда следует преобразовывать параметры Long в LongPtr?
    Сведения функциях, которые нужно вызвать, можно найти в документации по API Windows на сайте MSDN. Маркеры и указатели должны быть преобразованы в параметр LongPtr. Например, в документации по указана такая подпись:

    LONG WINAPI RegOpenKeyEx(__in HKEY hKey, __in_opt LPCTSTR lpSubKey, __reserved DWORD ulOptions, __in REGSAM samDesired, __out PHKEY phkResult);

    Определение параметров:

    В документе Win32API_PtrSafe.txt оператор Declare определяется так:

    Declare PtrSafe Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As LongPtr, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As LongPtr) As Long

    Следует ли преобразовывать указатели и маркеры в структуры?
    Да. См. сведения о типе MSG в файле Win32API_PtrSafe.txt:

    Type MSG hwnd As LongPtr message As Long wParam As LongPtr lParam As LongPtr time As Long pt As POINTAPI End TypeF

    Когда следует использовать функции strptr, varpt и objptr?
    Эти функции используются для получения указателей на строки, переменные и объекты соответственно. В 64-разрядной версии Microsoft Office эти функции будут возвращать 64-разрядный параметр LongPtr, который может быть передан операторам Declare. Использование этих функций осталось таким же, как и в предыдущих версиях VBA. Единственное различие состоит только в том, что теперь они возвращают параметр LongPtr.

Заключение

Добавление 64-разрядной версии Office 2010 позволяет перемещать большие объемы данных и повышать производительность. При написании 32-разрядного кода можно использовать 64-разрядную версию Microsoft Office без каких-либо изменений. Но при написании 64-разрядного кода следует убедиться, что код содержит определенные ключевые слова и константы условной компиляции, чтобы обеспечить его обратную совместимость с предыдущими версиями Microsoft Office и выполнение правильного кода при совмещении 32- и 64-разрядных кодов.

Дополнительные ресурсы

Дополнительные сведения об операторах Declare см. в следующих источниках.

Какую версию выбрать Microsoft Office 2016 (32 или 64 бит)

Сводка. В этой статье описываются преимущества и недостатки развертывания 64-разрядной версии Office, а также указывается, почему мы рекомендуем 32-разрядную версию Office 2013 для большинства пользователей.

Аудитория: ИТ-специалисты

Так как все больше персональных компьютеров работают под управлением 64-разрядных операционных систем Windows, пользователей искушает возможность установки 64-разрядной версии Office 2013. Одно из преимуществ 64-разрядных выпусков Office состоит в том, что пользователи могут работать с более крупными наборами данных Excel и Project. Но существуют недостатки совместимости, так как надстройки и решения для Office могут не работать. Поэтому 32-разрядная версия Office 2013 рекомендуется для большинства пользователей.

Вы устанавливаете Office дома? Узнайте, как выбрать 32- или 64-разрядную версию Office. 32-разрядная версия Office 2013 или Office 365 профессиональный плюс устанавливается по умолчанию - http://go.microsoft.com/fwlink/p/?LinkId=250955

Большинству пользователей мы рекомендуем 32-разрядную версию Office, так как она совместима с большинством других приложений, в частности, с надстройками сторонних разработчиков. Поэтому по умолчанию устанавливается 32-разрядная версия Office 2013 даже на 64-разрядных операционных системах Windows. В этих системах 32-разрядный клиент Office поддерживается в формате WOW64 (Windows-32-on-Windows-64). WOW64 - это эмулятор 32-разрядной среды (x86), обеспечивающий свободную работу 32-разрядных приложений Windows в 64-разрядных системах Windows. Это позволяет пользователям применять существующие элементы Microsoft ActiveX и надстройки COM с 32-разрядным набором Office.

Преимущества 64-разрядных версий Office доступны только для определенных типов пользователей и рабочих нагрузок

Существует несколько случаев, в которых следует рассмотреть возможность развертывания 64-разрядного выпуска Office 2013. Вот несколько примеров:

Опытные пользователи Excel, работающие со сложными листами Excel, могут получить преимущества от использования 64-разрядной версии Office 2013. Это вызвано тем, что 64-разрядный Office не накладывает жесткие ограничения на размер файла. На самом деле, размер книги ограничен только доступной памятью и системными ресурсами. С другой стороны, 32-разрядный Office ограничен 2 гигабайтами (ГБ) виртуального адресного пространства, которое совместно используется Excel, книгой и надстройками, работающими в одном процессе. Листы размером меньше 2 ГБ на диске могут содержать достаточно данных, чтобы занять 2 ГБ или больше адресуемой памяти. Подробнее см. в разделах Технические характеристики и ограничения Excel и Спецификации и ограничения модели данных.

Пользователи Project 2013 также получат преимущества при работе с файлами Project размером больше 2 ГБ, особенно при использовании нескольких вложенных проектов в рамках крупного проекта.

Разработчики собственных решений Office получат доступ к 64-разрядному выпуску Office 2013 для тестирования и обновления собственных решений.

Office 2013 предоставляет функции защиты с помощью аппаратного предотвращения выполнения данных (DEP). DEP - это набор аппаратных и программных технологий, которые проводят дополнительные проверки памяти, чтобы предотвратить выполнение вредоносного кода в системе. В 64-разрядных установках DEP всегда применяется к приложениям Office. В 32-разрядных установках можно настроить DEP, используя параметры групповой политики.

Многие пользователи часто задаются вопросом: что означает префикс разрядности x86 и x64 в операционных системах и программах, а также, какую разрядность лучше выбрать. Сейчас я подробно опишу все виды разрядности и какая разрядность ОС подойдет именно вам.

В настоящее время существует 2 вида разрядности операционных систем, это 32-х разрядные и 64-х разрядные . В недалеком будущем возможно появление 128 разрядных операционных систем и соответствующего железа для них.

X86 — это более старая архитектура оборудования и операционных систем. 32-х разрядные ОС это и есть архитектура x86 . Сама архитектура используется на старых компьютерах с одноядерными процессорами и малым объемом оперативной памяти.

X64 — современная архитектура как для операционных систем, так и для начинки компьютеров. Используется на новых моделях ноутбуков и настольных компьютеров, имеющих объем оперативной памяти не менее 4 гигабайт, многоядерных процессорах с высокой тактовой частотой. Операционные системы для такого рода архитектуры обычно носят префикс x64, то есть, так называемые 64 битные (разрядные) ОС .

Какую разрядность выбрать, x86 или x64 ?

Если у вас компьютер не из самых новых (лет 6-7), имеющих одноядерный процессор с частотой 2 Ггц, гигабайт или 2 оперативной памяти типа DDR-1 или 2, видеокартой на 64 или 128 мегабайт… на котором изначально была установлена Windows XP, и вы решили установить на этот ПК Windows 7, а может даже 8, то конечно же лучше всего выбрать 32- разрядную операционную систему (x86).

Это будет самый оптимальный вариант для компьютера примерно таких системных характеристик. А противном случае, если попытаетесь на него установить 64-х разрядную операционку, то она или вообще не установится (если процессор очень старый и не поддерживает архитектуру x64, то будет выведено окно с соответствующей ошибкой непосредственно при запуске установки ОС), или будет очень медленно работать и часто намертво зависать.

Но если компьютер имеет современные характеристики, например 2-х, 4-х или 6- ядерный процессор с тактовой частотой не менее 2-х ГГц, 4 гигабайта оперативной памяти минимум, видеокарту на гигабайт или больше, то просто необходимо устанавливать 64- разрядную операционную систему! Такая операционка будет намного быстрее работать, отклик приложений будет на максимально высоком уровне, при большом количестве задач система не будет зависать.

Бывают случаи, что пользователи, устанавливают на довольно-таки мощный компьютер 32- битную ОС, допустим, если тормозит какое-то приложение или игра на 64- разрядной ОС. Этого делать не рекомендуется, так как на 32-х битной операционке вы не добьетесь высокой скорости ее работы, пусть даже если железо достаточно «мощное». Потому что 32-х битная операционная система больше адаптирована для старых ПК.

Тем более, если у вас установлено 4 или больше гигабайта ОЗУ, то 32-х битная ОС (х86) увидит только 3 Гб и будет их использовать, так как она на больший объем памяти не рассчитана.

Как узнать, какая разрядность ОС на своем ПК?

Нужно набрать комбинацию клавиш Win+Pause и в появившемся окне будет написано, какую разрядность имеет ваша ос и компьютер.


Тип системы (разряднотсь)

Если у вас 64-х разрядная ОС, то все программы, которые предназначены для х86 также будут поддерживаться. А программы, которые специально разработаны для х64 будут запускаться и работать намного быстрее.

Множество пользователей при установке на свой персональный компьютер операционной системы Windows искренне недоумевают, какую из версий платформы выбрать - x64 или x86? И вообще, что на самом деле означают указанные сокращения?

Программы с x64 или x86: разница есть

Как уже было сказано выше, как правило, сопровождаются странными аббревиатурами. Однако вы можете увидеть их и во время скачивания различных программ, которые тоже часто предоставляют пользователю право выбрать версию x64 или x86. Давайте вместе попробуем разобраться во всех числовых загадках. Начнем с того, что в мире компьютеров существуют различные типы процессоров, которые имеют разную архитектуру. Выражение о движении семимильными шагами как нельзя лучше подходит к отрасли компьютерных чипов, но особенно быстро развиваться и совершенствоваться процессоры начали в последнее десятилетие.

Откуда повелось

Когда-то в начале своего пути вычислительные чипы позволяли пользователю работать
с операционными системами и программами на 16-битной основе, позже им в помощь пришли более совершенные 32-битные аналоги, теперь же прогресс уже смог коснуться 64-битных архитектур и даже серьезно их распространить по миру.
Вы, уважаемые читатели, вряд ли сегодня найдете компьютеры, которые поддерживают 16-битные программы, а новые PC выпускаются, как правило, с самой современной архитектурой и поставляются уже с 64-битными операционными системами.

Пионером в сфере разработки 64-битных вычислительных чипов считается компания AMD. Поэтому разработчики программного обеспечения обобщают подобные процессоры под общим именем "Amd64". Важно понять, что такое обозначение не значит, что игры, в характеристиках которых указан пункт amd64, не будут запускаться на компьютерах под управлением 64-битных процессоров авторства компании Intel.

В описанном случае речь идет об обычном обобщении, которому удалось прочно войти в практику. Сами сокращения x64 или x86 соответствуют именно разной архитектуре процессоров - 64 или 32 соответственно. Если говорить о применении этих обозначений к современным операционным системам, то они обозначают разрядность.

Как узнать x64 или x86 ОС установлена на ПК?

Часто пользователи пытаются определить, какая разрядность или, другими словами, тип операционной системы установлен на их компьютере в настоящий момент. Чтобы решить поставленную задачу, необходимо навести курсор мыши на значок «Компьютер» на рабочем столе (стандартный для системы Windows) и кликнуть по нему один раз правой кнопкой.

Далее в открывшемся контекстном меню следует выбрать «Свойства». После проделанных действий перед вами должно открыться окно с полным списком характеристик вашего компьютера, а также установленной операционной системы. Таким образом, вы сможете увидеть один из пары вариантов: 32-разрядная операционная система или 64-разрядная.

Вот таким нехитрым образом мы разобрались, как проверить, x86 или x64 программы следует устанавливать. Далее необходимо сказать, что особенность 64-битных программ заключена в их невероятной производительности, но с другой стороны - они слишком требовательны по отношению к памяти. Вот оно, подтверждение правила о том, что все хорошо в меру: установка 64-битной операционной системы на слабый ноутбук с парой гигабайт ОЗУ и 32-битным классическим процессором - это ошибка, однако, с другой стороны, 32-разрядные программы и системы не в силах видеть свыше 3 Гб ОЗУ. В случае, если в вашем распоряжении имеется персональный компьютер, оперативная память у которого равна 4 и более гигабайтам, можете смело устанавливать 64-разрядную Windows-платформу, соответственно, программы также должны быть 64-битные. Программы такого типа используют ресурсы, имеющиеся на компьютере, по максимуму, По сути, актуальный вопрос о том, что лучше - windows x86 или x64, сформулирован не вполне корректно, так как обе платформы хороши, а выбор необходимой определяется конфигурацией отдельно взятого компьютера.



Windows x64: подводные камни

В настоящее время из-за нерешенности некоторых вопросов, над которыми бьются разработчики и инженеры всего мира, вышло так, что у самой совершенной платформы Windows x64, кроме множества неоспоримых преимуществ, о которых мы говорили
выше, есть и ряд недостатков, о которых тоже не следует забывать. Начнем с того, что, если вы пользуетесь своим компьютером достаточно давно и имеете ряд комплектующих, которые вас уже многие годы не подводили, есть вероятность, что с переходом на 64-разрядную версию операционной системы найти драйверы для указанных устройств может быть довольно проблематично. Дело в том, что разработчики всевозможных гаджетов не очень охотно выпускают обновления для продуктов, которые были сняты с производства, тем самым пытаясь стимулировать клиентов приобретать новую технику. И тут уж мало кто прислушается к аргументу, будто ваш сканер или принтер лучше всех на свете.

Мы уже отмечали, что Windows x64 потребляет больше ресурсов, однако следует сказать, что все программы для 64-разрядной среды также начинают «желать большего». И наконец, если вы решите установить неподписанный потребует ряда дополнительных действий.

На другой чаше весов лежит доступ ко всем ресурсам установленной на компьютере ОЗУ. При наличии Windows x64 даже некоторые 32-битные программы могут воспользоваться доступом к 4 ГБ ОЗУ, например игры "Сталкер" и "Готика". Для сравнения: в среде 32-битной операционной системы игры и программы получают доступ к 2 Гб памяти, и в крайне редких случаях - к 3 Гб.

Некоторые авторы утверждают, что, независимо от того, какую платформу - x64 или x86 - выберет пользователь, быстродействие программ останется на одном уровне. Весьма сложно опровергнуть это мнение полностью, ибо показатели быстродействия зависят от целого ряда обстоятельств и факторов, однако практикой доказано, что программы для обработки звука и видео, а также архиваторы и ряд профессиональных программ начинают вести себя намного активнее.

Если с дилеммой «x86 или x64: что ставить» вы окончательно определились в пользу последней, однако не хотите расставаться со старыми добрыми программами, вам следует знать, что 99 процентов 32-битных приложений без снижения производительности и любых проблем работают в 64-битной среде. Что касается производительности в играх, то она прежде всего зависит от показателей вашего видеодрайвера.


P.S: все, о чем не успели упомянуть выше

Мы уже точно знаем, как определить x86 или x64, но остался ряд мелочей, о которых тоже стоит упомянуть. К примеру, мы уже узнали практически все о разрядности, кроме определения этого термина, поэтому заметим, что разрядностью называют способность обрабатывать одновременно определенное количество информации, которая измеряется в битах.


Недостижимая граница

Интересно, что у 64-разрядной архитектуры также есть свои пределы касательно воспринимаемой оперативной памяти: x64 не может увидеть более 192 Гб ОЗУ. Еще один любопытный момент: натуральный объем 64-разрядных приложений, как
правило, на 20-40% больше, чем у 32-разрядных аналогов, однако не стоит сразу же бежать за новым жестким диском, ведь данное правило не распространяется на такие развлекательные материалы, как видеоролики (кинофильмы) или музыку.



Число сомнения - 4

Отдельно следует обсудить судьбу ПК с 4 гигабайтами ОЗУ. Вот в чем штука: с одной стороны, 32-разрядные ОС видят только 3 Гб памяти, и выбор в пользу 64х кажется очевидным, однако не забывайте, что Windows x64 просто для того, чтобы заставить себя работать, потребует вдвое больше ОЗУ, чем ее 32-разрядная «сестра», и победа в таком случае кажется весьма неоднозначной. В таких условиях выбор должен определяться не математическим подсчетом, а вашими потребностями и теми задачами, которые вы намерены ставить перед компьютером. И не ждите внешних эффектов, ведь с точки зрения дизайна 32 и 64-разрядные операционные системы идентичны.

Новости от Adobe

Если вы художник или дизайнер, огорчим вас или порадуем недавним заявлением компании Adobe о том, что все современные приложения Adobe CS5 станут исключительно 64-битными. Другими словами, Dreamweaver CS5, Photoshop CS5 и тому подобные знаменитые приложения смогут запуститься исключительно на 64-битной системе. 32-битная платформа их просто не распознает.



Все оказалось просто

Вот мы и разобрались, как узнать, x64 или x86 система у вас установлена, и какой вариант выбрать. Как видите, все оказалось не слишком сложно и отняло всего несколько минут вашего времени. Важно понять, что в данном случае отличия исключительно внутренние, и определить с максимальной точностью, чего именно вы хотите от персонального компьютера, что он для вас - рабочий инструмент или друг, который дарит вам развлечения. Если ПК будет настроен наилучшим образом, его способности преобразятся.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: