Пример: использование указательных типов данных

Пример: использование указательных типов данных

Аргументом потока, передаваемым функции потока при вызове CreateThread и _beginthreadex (см. главу 7), является указатель типа PVOID. Иногда программист может захотеть передать функции потока только целочисленное значение, указывающее, например, номер потока или индекс данных в глобальной таблице. Тогда функцию потока, интерпретирующую параметр как целое без знака, можно было бы написать следующим образом:

DWORD WINAPI MyThreadFunc(PVOID Index_PTR) {

 DWORD_PTR Index;

 …

 Index = (DWORD_PTR)Index_PTR;

 …

}

Аналогичным образом, зная, что фактический аргумент является целым числом, вы могли бы записать соответствующий участок кода основного потока следующим образом:

DWORD_PTR Ix;

for (Ix = 0; Ix < NumThreads; Ix++) {

 hTh[Ix] = _beginthreadex(NULL, 0, MyThreadFunc, (PVOID)Ix, 0, NULL);

 …

}

Заметьте, что в уже существующий код вам придется внести необходимые изменения. Об этом говорится далее в разделе "Перенос существующего кода".

Предостережение

Пока, по крайней мере, в случае первоначальных вариантов реализации, не следует рассчитывать на получение доступа ко всему виртуальному адресному пространству. Размер виртуальных адресных пространств может ограничиваться такими, например, значениями, как 512 Гбайт, что соответствует ограничению данных 39 битами. Можно надеяться, что со временем, по мере эволюции процессоров и систем, указанный верхний предел увеличится.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

6. Объявление переменных: оператор Dim для различных типов данных

Из книги Программирование автора Козлова Ирина Сергеевна

6. Объявление переменных: оператор Dim для различных типов данных Чаще всего люди стараются не пользоваться идентификаторами при обозначении типа переменной (тем более для таких типов, как дата/время). Вместо этого они применяют оператор Dim. Подобная операция называется


От абстрактных типов данных к классам

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

От абстрактных типов данных к классам Итак, у нас имеется отправная точка - элегантная математическая теория для моделирования структур данных и, как мы только что видели, в целом - программ. Но наша цель - это архитектура ПО, а не математическая или даже теоретическая


Преобразование типов данных 

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Преобразование типов данных  Одной из особенностей языка JScript является то, что если в выражениях встречаются переменные разных типов, то автоматически происходит преобразование всех числовых данных в строковое представление. Например, следующие логические выражения


Совместимость и преобразование типов данных

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Совместимость и преобразование типов данных Настала пора рассмотреть еще два важных вопроса: совместимость типов данных и преобразование одного типа к другому.Что получится, если сложить два числовых значения? Правильно — еще одно числовое значение. А если сложить


Совместимость и преобразование типов данных

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Совместимость и преобразование типов данных Настала пора рассмотреть еще два важных вопроса: совместимость типов данных и преобразование одного типа к другому.Что получится, если сложить два числовых значения? Правильно — еще одно числовое значение. А если сложить


Преобразование типов данных

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Преобразование типов данных Типы данных существуют только для удобства программиста - VBA хранит всю свою информацию исключительно в цифровой форме. А поскольку это так, преобразование данных одних типов в другие не слишком большая проблема для VBA.В VBA есть целый ряд


Определение своих собственных типов данных

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Определение своих собственных типов данных Если вы не математик, многомерные массивы данных одного типа вам, скорее всего, вряд ли понадобятся. В практических задачах управления данными чаще приходится работать с наборами элементов совершенно разных типов. В


Преобразование типов данных

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич


Ограничения на изменение типов данных

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

Ограничения на изменение типов данных Предложение TYPE в ALTER DOMAIN позволяет заменить тип данных на другой разрешенный тип данных. Разрешенные типы преобразований см. на рис. 8.1.Недопустим никакой тип преобразования, который может привести к потере данных. Например,


ИСПОЛЬЗОВАНИЕ ТИПОВ ДАННЫХ

Из книги Разработка ядра Linux автора Лав Роберт

ИСПОЛЬЗОВАНИЕ ТИПОВ ДАННЫХ      Во время разработки программы вам необходимо составить список требуемых переменных и указать при этом, какого они должны быть типа. Скорее всего вы будете использовать тип int или, возможно, float для определения чисел и тип char для символов.


Синтаксис определения типов данных

Из книги автора

Синтаксис определения типов данных Типы данных используются для описания полей в таблицах, переменных в триггерах и хранимых процедурах. Ниже представлен общий синтаксис определения всех возможных в InterBase типов данных. < datatype> = (SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION}[ <array_dim>] {DATE


16.10. Использование специальных типов данных в модели Core Data

Из книги автора

16.10. Использование специальных типов данных в модели Core Data Постановка задачи Вы считаете, что набор типов данных, представленных в Core Data, не удовлетворяет стоящим перед вами требованиям. Вам хотелось бы использовать в объектах моделей и дополнительные типы данных,


Выравнивание нестандартных типов данных

Из книги автора

Выравнивание нестандартных типов данных Как уже указывалось, при выравнивании адрес стандартного типа данных должен быть кратным размеру этого типа. Нестандартные (сложные) типы данных подчиняются следующим правилам выравнивания.• Выравнивание массива выполняется