alloc_text
Назначает имя разделу кода, в котором должны располагаться заданные определения функций. Директива pragma должна быть между декларатором функции и определением функции для именованных функций.
#pragma alloc_text( "textsection", function1, ... )
Заметки
Директива #pragma alloc_text не обрабатывает функции-члены и перегруженные функции C++. Она действует только для функций, которые объявлены с компоновкой C, т. е. с определением компоновки extern "C". При попытке использовать эту директиву pragma в функции с компоновкой C++ возникнет ошибка компилятора.
Поскольку адресация функций при помощи ключевого слова __based не поддерживается, для указания местоположения разделов необходимо использовать директиву #pragma alloc_text. Имя, заданное в параметре textsection, должно быть заключено в двойные кавычки.
Директива #pragma alloc_text должна находиться после всех объявлений указанных функций и перед их определениями.
Функции, на которые имеются ссылки в директиве #pragma alloc_text, должны быть определены в том же модуле, что и директива pragma. В противном случае, если неопределенная функция впоследствии будет скомпилирована в другом разделе текста, ошибка может не быть перехвачена. Хотя в большинстве случаев программа будет выполняться правильно, функция не будет выделена в нужных разделах.
Существуют и другие ограничения для директивы #pragma alloc_text:
Она не может использоваться внутри функции.
Она должна использоваться после объявления функции, но перед ее определением.