На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Dynamic-Link Library Data



Win32-based DLLs can contain global data or local data.

Variable Scope

The default scope of DLL variables is the same as that of variables declared in the application. Global variables in a DLL source code file are global to each process using the DLL. Static variables have scope limited to the block in which they are declared. As a result, each process has its own instance of the DLL global and static variables by default.
Your development tools may allow you to override the default scope of global and static variables. For more information, see the documentation included with your development tools.

Dynamic Memory Allocation

When a DLL allocates memory using any of the memory allocation functions (GlobalAlloc, LocalAlloc, HeapAlloc, and VirtualAlloc), the memory is allocated in the virtual address space of the calling process and is accessible only to the threads of that process.
A DLL can use file mapping to allocate memory that can be shared among processes. For a general discussion of how to use file mapping to create named shared memory, see File Mapping. For an example that uses the DllEntryPoint function to set up shared memory using file mapping, see Using Shared Memory in a Dynamic-Link Library.

Thread Local Storage

The thread local storage (TLS) functions enable a DLL to allocate an index for storing and retrieving a different value for each thread of a multithreaded process. For example, a spreadsheet application can create a new instance of the same thread each time the user opens a new spreadsheet. A DLL providing the functions for various spreadsheet operations can use TLS to save information about the current state of each spreadsheet (row, column, and so on). For a general discussion of thread local storage, see Thread Local Storage. For an example that uses the DllEntryPoint function to set up thread local storage, see Using Thread Local Storage in a Dynamic-Link Library.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

БИБЛИОТЕЧНЫЕ Данные Dynamic-Link



основавшее Win32 DLLs может содержать глобальные данные или локальные данные.

Переменная Область

По умолчанию область переменных DLL является такими же как и теми же самыми переменными объявленными в приложение. Глобальные переменные в источнике DLL кодируют файл глобальные в каждом процессе, использовавшем DLL. Статические переменные имеют область ограниченную блоком в которой они объявлены. В результате, каждый процесс имеет собственный пример DLL глобальных и статических переменных по умолчанию.
Ваши инструментальные средства разработки могут позволить Вам, чтобы аннулировать по умолчанию область глобальных и статических переменных. Более подробно, смотри документацию включенную вашими инструментальными средствами разработки.

Динамическое Распределение Памяти

Когда DLL распределяет память, использовавшую любую из функций распределения памяти (GlobalAlloc, LocalAlloc, HeapAlloc, и VirtualAlloc), память распределена в виртуальном пространстве адреса вызова процесса и доступна только в резьбе этого процесса.
DLL Может использовать файл, отображающий, чтобы распределять память, которая может быть распространена среди процессов. Для общей дискуссии того как, чтобы использовать файл, отображающий, чтобы создавать поименованный распространившее память, смотри Файловое Распределение. Для примера, который использует функцию DllEntryPoint, чтобы устанавливать коллективную память, использовавшую файл, отображающий, смотри Коллективная Память Использования в Библиотеке Dynamic-Link.

Заправьте Локальную Память

Локальная память резьбы (TLS) функционирует допустимый DLL, чтобы распределять индексу для хранения и поиска другой величины для каждой резьбы multithreaded процесса. Например, приложение электронной таблицы может создать новый пример той же самой резьбы всякий раз, когда пользователь открытый новая электронная таблица. DLL, Обеспечивающее функции для различных операций электронной таблицы может использовать TLS, чтобы сохранять информацию о текущем состоянии каждой электронной таблицы (колонка, столбец, и так далее). Для общей дискуссии локальной памяти резьбы, смотри Локальная Память Резьбы. Для примера, который использует функцию DllEntryPoint, чтобы устанавливать локальная память резьбы, смотри Использование Резьбы Локальной Памяти в Библиотеке Dynamic-Link.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz