Я смотрю на кусок кода, который создает глобальные переменные класса. Конструкторы этих классов вызывают таблицу символов singleton и добавляют в нее указатели this ..
В файле Keywords.cpp
class A : class KeyWord
{
A() { add(); }
} A def;
аналогично для ключевых слов B, C и т. Д.
void KeyWord::add()
{
CSymbolCtrl& c = CSymbolCtrl::GetInstance();
c.addToTable(this);
}
Эти единицы перевода скомпилированы для формирования библиотеки. Когда я «сбрасываю» библиотеку, я вижу динамические инициализаторы для ADef, BDef и т. Д.
Нет в exe, когда я вызываю экземпляр CSymbolCtrl, я не нашел ADef, BDef .., хранящихся в его карте. Когда я устанавливаю точку останова в add (), он не получает удар. Есть ли способ, которым компоновщик игнорирует ADef, BDef, потому что на них нигде нет ссылок?
*
} * 1013