----- Original Message ----- From: Alexander A. Motrichuk To: kaev@yandex.ru Subject: MFCByStep from Alexander? Огромное спасибо за столь полное освещение вопросов программирования на данном сайте. У меня вопрос к тебе? Ответь если не затруднит. У меня большая путаница в голове по поводу директивы прекомпилятора #PRAGMA Объясни в двух словах ее основное назначение??? Заранее спасибо !!!
Это директива препроцессора, которая реализует возможности компилятора. Эти особенности могут быть связанны с реализаций компилятора. И разные реализации компиляторов могут поддерживать разные директивы. Общий вид директивы такой.
#pragma token-string
token-string - строка символов команда и параметры компилятора
Вот примеры:
#pragma message( строка сообщения ) #pragma comment(lib,"setupapi.lib")
Многие директивы, которые устанавливаются с помощью #pragma можно установть из среды VC. На мой взгляд использование #pragma в коде CPP более читаемо и не надо лазить по настройкам. Вот аналог директивы #pragma comment(lib,"user32.lib") в IDE.
Компилятор VC поддерживает следующие директивы:
alloc_text comment init_seg1 optimize auto_inline component inline_depth pack bss_seg data_seg inline_recursion pointers_to_members1 check_stack function intrinsic setlocale code_seg hdrstop message vtordisp1 const_seg include_alias once warning
Наверное про каждую из них нужно написать отдельно. Со временем напишу.