Как узнать, определена ли конкретная директива препроцессора в сторонней DLL или нет? - PullRequest
0 голосов
/ 08 апреля 2020

Я использую определение из DLL. В DLL имеется несколько определений, и одно из них будет выбрано на основе объявления макроса условного препроцессора. Как узнать, какое объявление препроцессора используется в DLL?

Ответы [ 3 ]

1 голос
/ 08 апреля 2020

Директивы препроцессора и макросы существуют только во время компиляции. За исключением, возможно, отладочной информации, скомпилированный двоичный файл, такой как DLL, обычно не содержит никакой информации о директивах препроцессора или макросах.

0 голосов
/ 09 апреля 2020

Не уверен насчет формулировки проблемы, но если вам нужен декомпилятор, есть несколько вариантов, таких как ILSpy, DotPeek и другие.

0 голосов
/ 09 апреля 2020

Спасибо за ответы. Если исходный файл используемой библиотеки DLL выглядит следующим образом:

file1

# ifdef x struct A {int a; плавать б; };

else

   struct A { 
           int a; 
   };

endif

В пользовательском коде создается структура A. Есть ли способ узнать, какое определение структуры из DLL используется? Нет источника и другой информации, доступной от провайдера DLL о том, как DLL построена.

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