×
Namespaces

Variants
Actions

Системные макросы Symbian OS

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: Macros in Symbian
Den123
Последнее редактирование: hamishwillee (09 Dec 2011)

Ниже приведены макросы, которые можно использовать для выявления утечек памяти, а также макросы, которые позволяют симулировать нехватку памяти.


__UHEAP_MARK

Старт проверки динамической памяти текущей нити. Макрос определен только для отладочных версий.


__UHEAP_MARKEND

Окончание проверки динамической памяти текущей нити. Выполняет проверку, что с момента вызова __UHEAP_MARK (на текущем уровне вложенности) вся выделенные ячейки памяти были освобождены. Этому макросу должен соответствовать предварительно вызванный __UHEAP_MARK. Макрос определен только для отладочных версий.


__UHEAP_MARKENDC

Окончание проверки динамической памяти текущей нити. Выполняет проверку, что с момента вызова __UHEAP_MARK (на текущем уровне вложенности) остались неосвобожденными aCount ячеек памяти. Этому макросу должен соответствовать предварительно вызванный __UHEAP_MARK. Макрос определен только для отладочных версий.


__UHEAP_FAILNEXT

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


__UHEAP_SETFAIL

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


__UHEAP_RESET

Отмена симуляции отказа при выделении динамической памяти в рамках текущей нити. Макрос определен только для отладочных версий.


__ASSERT_ALWAYS

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


__ASSERT_DEBUG

Проверка утверждения - действует только в отладочной версии.


__DECLARE_TEST / __TEST_INVARIANT

Проверяют состояние объекта.


GLDEF_C

На практике используется для обозначения глобальных функций.


_DEBUG

С помощью этого макроса код, предназначенный только для тестирования или отладки можно исключить из релизной версии.


_UNICODE

Используется при компиляции кода с использованием Unicode.


IMPORT_C

Макрос используется в приложении для объявления функций, импортируемых из DLL. Макрос информирует компилятор о том, что такие функции необходимо искать в динамических библиотеках.


EXPORT_C

Используется при создании динамических библиотек для объявления экспортируемых функций.


TRAP() и его варианты

Используется в механизме обработки ошибок. Для более подробной информации см. Использование ловушки(TRAP).

This page was last modified on 9 December 2011, at 05:10.
70 page views in the last 30 days.
×