Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.2. Управление работой RDS и функции общего назначения

А.5.2.7. Макросы компиляции для 32-хбитной и 64-хбитной версии RDS

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.2. Управление работой RDS и функции общего назначения

##### А.5.2.7. Макросы компиляции для 32-хбитной и 64-хбитной версии RDS

В «RdsDef.h» описан набор макросов, указывающих на то, для какой версии RDS компилируется программа – для тридцатидвухбитной или шестидесятичетырехбитной. Также определены макросы, относящиеся к конкретным версиям, их значения не зависят от того, какая версия используется при компиляции. Все эти макросы не имеют параметров.

RDS_WIN32 | Если это определение присутствует перед включением «RdsDef.h», будет считаться, что программа компилируется для тридцатидвухбитной версии RDS. Если не присутствуют определения ни для RDS_WIN32, ни для RDS_WIN64, определение одной из этих констант будет добавлено принудительно в зависимости от текущих описаний компилятора.
RDS_WIN64 | Если это определение присутствует перед включением «RdsDef.h», будет считаться, что программа компилируется для шестидесятичетырехбитной версии RDS. Если не присутствуют определения ни для RDS_WIN32, ни для RDS_WIN64, определение одной из этих констант будет добавлено принудительно в зависимости от текущих описаний компилятора.
RDS_WIN32_NAME | ASCII-строка условного названия для тридцатидвухбитной версии, которую можно использовать, например, в качестве имени раздела в INI-файле. Имеет значение "Win32".
RDS_WIN64_NAME | ASCII-строка условного названия для шестидесятичетырехбитной версии, которую можно использовать, например, в качестве имени раздела в INI-файле. Имеет значение "Win64".
RDS_WIN32_ID | Имеет значение 0, может использоваться в качестве индекса в каких-либо массивах параметров версий для ссылки на тридцатидвухбитной версию RDS.
RDS_WIN64_ID | Имеет значение 1, может использоваться в качестве индекса в каких-либо массивах параметров версий для ссылки на шестидесятичетырехбитной версию RDS.
RDS_PLATFORMS_COUNT | Имеет значение 2. Может использоваться в качестве размера массива параметров версий.
RDS_PLATFORMNAME | ASCII-строка условного названия той версии RDS, для которой компилируется программа. В зависимости от версии принимает значения RDS_WIN32_NAME или RDS_WIN64_NAME.
RDS_PLATFORMID | Индекс версии RDS, для которой крмпилируется программа. В зависимости от версии принимает значения RDS_WIN32_ID или RDS_WIN64_ID.

Примечания

Константу RDS_WIN32 или RDS_WIN64, при необходимости, следует определять непосредственно перед включением файла «RdsDef.h», например:

      #include <windows.h>
      #define RDS_WIN32 // Компилируется для 32-битной версии
      #include <RdsDef.h>
      // Подготовка описаний сервисных функций
      #define RDS_SERV_FUNC_BODY GetInterfaceFunctions
      #include <RdsFunc.h>
      …

Можно также определить одну из этих констант в параметрах командной строки при вызове компилятора.

Если не включить описания RDS_WIN32 и RDS_WIN64, то внутри «RdsDef.h» они будут определены в зависимости от наличия стандартной константы _WIN64, которую компиляторы (в частности, GCC) определяют при компиляции шестидесятичетырехбитной версии программы.

Пример

Пример использования одного из этих макросов (RDS_PLATFORMNAME) приведен в §3.2 руководства программиста.