Вопрос

Я работаю над (довольно ужасно) проектом, который включает в себя импортирование иерархии класса C ++ через интерфейс DLL. Одной из более ужасных данных требует, чтобы я знал «украшенные» имена для различных элементов класса, которые подвергаются воздействию - в основном функции членов и статические данные.

Есть много Способы к достижению этого - список ассамблевных листингов или файл карты, дампбин, ученик зависимости, _Funcdname._ Макрос и т. Д. К сожалению, все они требуют от меня, чтобы на самом деле компилировать код или иметь компиляционную DLL - и все, что у меня есть, - это заголовочные файлы. (Это может оставить вас почесать голову на минуту - просто возьми мое слово, что это действительно ужасный проект.)

Теперь я могу легко приковать что-то с коммуникацией только от заголовков и использовать один из вышеуказанных подходов. Но если я смогу избежать этого, это было бы намного лучше. Итак, мой вопрос: есть ли способ просмотреть украшенные имена символов из визуальной студии, браузер La Object? Я знаю, что украшение технически выполняется во время компиляции, но Intellisense делает так много других вещей, пока вы печатаете, я надеюсь, что это может сделать это тоже.

Это было полезно?

Решение

Если все остальное не удается, возьмите это .h, переименуйте его на .CPP, замените все запятые (;) с

{
#pragma message(__FUNCDNAME__)
}

Отредактируйте это немного и составьте его. Вы получите свой список.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top