Есть ли какая-либо концепция в c++, как reflector in.Net?
Мне нравится получать код из C++ dll, я знаю, что мы легко получаем из .Net dll с помощью рефлектора. Существуют ли в C++ для этого метода?
Заранее Спасибо
5 ответов
в C++ компилируется непосредственно в машинный код. Здесь нет промежуточного языка .Сеть. Есть некоторые дизассемблеры C++ вы можете взглянуть на. Хекс-лучей декомпилятор особенно хороша.
Я считаю, что вы говорите о неуправляемом C++. В таком случае это невозможно. На C++ компилируется в машинный код, в отличие от управляемых языков, которые компилируются в промежуточный язык, который содержит метаданные о коде, который был составлен.
нет, C++ не имеет ничего подобного отражателю RedGate и не способен на такое. Дизассемблер не приблизится к тому, что вы ищете.
код для интроспективных возможностей может быть сгенерирован из вывода Gcc-XML или введен с OpenC++, но сам стандарт C++ не требует каких-либо конкретных средств для этого, и никакие средства/утилиты для этого не поставляются в комплекте с любыми популярными компиляторами. Программа на C++ также может считывать отладочную информацию в собственном исполняемом файле, но это определенно не особенно портативно, быстро или, вероятно, сделает для надежного решения.