name-mangling

Я писал декоратор, которому нужен доступ к частным переменным, и обнаружил это несоответствие. Кто-нибудь может это объяснить? (Python 2.5) Искажение имен работает, как и ожидалось, для атрибутов, определенных в классе: >>> class Tester(object): ... __foo = "hi" >>> t = Tester() &g...

Я пытаюсь портировать 32-битную dll (и приложение) на 64-битную, и мне удалось построить ее без ошибок. При попытке загрузить его с моим 64-битным приложением я заметил, что экспортированные имена функций отличаются. Вот как я экспортирую функции: #ifdef __cplusplus extern "C" { #endif __declspec(dllexport...

Предположим, что я написал функцию foo<T> (у меня есть полная сигнатура с пространствами имен), но сейчас это неважно); и предположим, что нет никакой другой функции, перегружающей ее (в соответствующем пространстве имен она находится). Теперь давайте поместим себя во время выполнения. Предположим, у ме...

недавно у меня было интервью, и один вопрос был задан: что такое использование extern "C" в коде C++. Я ответил, что он должен использовать функции C в коде C++, поскольку C не использует искажение имен. Меня спросили, почему C не использует искажение имен, и, честно говоря, я не мог ответить. Я понимаю, что...