Как сгруппировать некоторые функции в новый раздел памяти вывода .exe в Visual C ++ - PullRequest
4 голосов
/ 25 ноября 2010

Мне нужно использовать Visual C ++ для создания настраиваемого веб-сервера Apache. Вот цель, которую я пытаюсь достичь: указать некоторые функции или данные в исходном коде Apache и поместить их в отдельные и выровненные по 4 тыс. Страниц разделы (не .text .data .bss) выходного файла .exe.

Закрытое решение, которое я могу найти в Интернете, - это использовать параметры компилятора / Gy для компиляции каждой функции в различные COMDAT, а затем использовать параметры компоновщика / ORDER, чтобы поместить COMDAT в предопределенном порядке. Однако это просто переупорядочение внутри раздела, не изменение макета раздела в выводе .exe или создание нового раздела. Под Linux я могу использовать атрибут компилятора "section" и скрипт компоновщика для достижения моей цели. Есть ли эквивалентное решение в Visual C ++? Большое спасибо: -)

1 Ответ

3 голосов
/ 25 ноября 2010

#pragma code_seg позволяет указать сегмент, в который будет помещен код. Наряду с возможностью указания имени, компилятор хранит стек имен, чтобы вы могли выдвигать и выдвигать текущее состояние, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...