Шаг 122 - __declspec

www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Спецификация Microsoft

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

allocate("segname")				  // определяет сегмент данных для распределения
dllimport					  // экспортируемое из DLL
dllexport					  // импортируемое в DLL
naked						  // генерация кода без оболочки функций
noreturn					  // функция не имеет возврата
nothrow						  // в функции не будет исключений
novtable					  // у класса не будет виртуальной таблицы
property({get=get_func_name|, put=put_func_name}) // для виртуальных членов в классах т структурах.
selectany					  // для оптимизации переменных
thread						  // для локальных переменных потока
uuid("ComObjectGUID")				  //Компилятор прилагает GUID к классу или структуре

Применение этого ключевого слова требует опыта. Если с импортом, экспортом более менее понятно, то зачем говорить, например что у функции не будет исключений nothrow? Тут надо знать, что если функция может вызвать исключение, то к ней дописывается определенный код. А вот применение этого ключевого слова этот код удаляет. Вроде как функция будет меньше. Или когда виртуальной таблицы нет novtable, то же будет меньше.


Предыдущий Шаг | Следующий Шаг | Оглавление

Автор Каев Артем.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz