Описание тега name-mangling
Изменение имен - это метод, используемый компиляторами (в основном компиляторами C++) для кодирования информации в строках, которые могут поддерживаться компоновщиками, предназначенными для обработки кода C.
11
ответов
Как мне перечислить символы в файле.so
Как мне перечислить символы, экспортируемые из файла.so? Если возможно, я также хотел бы знать их источник (например, если они извлекаются из статической библиотеки). Я использую gcc 4.0.2, если это имеет значение.
29 авг '08 в 16:57
2
ответа
Почему в выводе моей сборки есть две реализации деструктора?
А также objdump моего файла.o показывает, что у меня есть два разных деструктора для одного и того же класса. Зачем? Disassembly of section .text._ZN1AD0Ev: 0000000000000000 <_ZN1AD0Ev>: 0: 53 push %rbx 1: be 00 00 00 00 mov $0x0,%esi 6: 48 89…
15 июн '17 в 03:40
1
ответ
Столбец с именем профиля sprof flat имеет уродливый формат
Я пытаюсь профилировать функции, предоставляемые общей библиотекой, используя sprof. Профилирование работает, но столбец, содержащий имена функций, очень плохо отформатирован. Я использую, например, unordered_map, предоставленный boost. Соответствую…
07 июл '16 в 17:35
1
ответ
Принудительное искажение имени в x64 DLL
Я портирую 32-битное приложение на 64-битное. Приложение поддерживает плагины, которые являются DLL. К сожалению, одна из обязательных функций, которую должен иметь каждый плагин, называется FreeLibrary что, конечно, противоречит kernel32 API с тем …
28 окт '16 в 09:15
1
ответ
Как добавить пользовательскую функцию в библиотеку QDB?
QDB - это база данных, предоставляемая пакетом QNX Neutrino. Я просмотрел документацию QDB, чтобы добавить пользовательскую функцию SQL: http://www.qnx.com/developers/docs/6.5.0/topic/com.qnx.doc.qdb_en_dev_guide/writing_functions.html?cp=2_0_8 Я со…
06 дек '13 в 11:12
4
ответа
Является ли сопоставление имен в ASP.NET последовательным?
Когда у вас есть элемент управления ASP, как это: <asp:TreeView ID="TreeItems" runat="server"></asp:TreeView> HTML, который он генерирует, искажает имена. Если я хочу получить прямой доступ к идентификаторам сгенерированных элементов, я …
04 авг '10 в 21:15
2
ответа
Как удалить окружающие символы вокруг символа в общей библиотеке?
Я собрал библиотеку с g++ и я хочу связать это с gcc,Проблема в том, что я получаю сообщение об ошибке при ссылке на него: неопределенная ссылка на 'functionName` (functionName - имя функции в библиотеке) хотя функция существует в списке символов, и…
21 дек '16 в 16:20
4
ответа
Как получить доступ к закрытой переменной модуля Python из класса
В Python 3 префикс переменной класса делает его закрытым для моего искажения имени в классе. Как мне получить доступ к переменной модуля внутри класса? Например, следующие два способа не работают: __a = 3 class B: def __init__(self): self.a = __a b …
05 янв '16 в 21:24
3
ответа
C++ зависимый от аргумента шаблона аргумент decltype в искаженном имени ABI
Рассмотрим следующую функцию: template <typename A, typename B> auto Min(A&& a, B&& b) -> decltype(a < b ? std::forward<A>(a) : std::forward<B>(b)) { return a < b ? std::forward<A>(a) : std::forward&l…
08 ноя '12 в 18:01
1
ответ
Проблемы с примером искажения имени
Я не делал ООП в Python какое-то время, поэтому я сделал краткий обзор некоторых функций, которые я забыл использовать. Когда я пришел к искажению имен в Учебном руководстве по Python ( https://docs.python.org/3/tutorial/classes.html), я скопировал …
07 апр '18 в 01:29
1
ответ
Допустимо ли несовпадение параметров функции?
Что касается использования const Параметры функции Я слышал, что в некоторых системах OS X постоянство параметра искажается в сигнатуре функции. Например, если в заголовочном файле интерфейса есть следующее объявление: int f(int argument); но если б…
10 апр '16 в 16:55
1
ответ
Получите искажение имени, когда я пытаюсь использовать исключения [CodeBlocks, C++]
Я пытаюсь использовать исключения в первый раз, но хотя это довольно простой пример, я просто не могу его скомпилировать, я просмотрел несколько примеров и пытался кодировать его многими, многими разными способами, но я до сих пор даже не уверен име…
02 сен '12 в 08:51
2
ответа
Какие компиляторы C++ используют спецификатор доступа в распределении имен?
Я знаю, что MSVC делает, а GCC нет? А как насчет других?
29 июл '10 в 17:15
1
ответ
MSVC функция разграничения
У меня есть следующие функции: namespace TEST { class TEST { int a; int b; }; } namespace UNION_TEST { union UNION_TEST { int a; int b; }; } union UNION_TEST_NEW { int a; int b; }; namespace NAMESPACE_1 { namespace NAMESPACE_2 { union UNION_NAMESPAC…
21 май '15 в 06:29
1
ответ
Ошибка компилятора для конфликтующих объявлений переменных: "конфликтует с новым объявлением со связью" C ""
Я наткнулся на какой-то унаследованный код, который не может быть построен на более новом компиляторе. Приведенный пример: int x; extern "C" { int x }; // conflicts with C++ linkage above // note: without the braces it would've been equivalent to: /…
10 июл '15 в 20:36
1
ответ
Изменение имени в экспортированной функции-члене C++ в C# (Unity)
Возможный дубликат: Плагин C++ для Unity "EntryPointNotFoundExeption" Я понимаю, как предотвратить искажение имен с помощью extern "C" для отдельных функций в C++, но есть ли способ предотвратить это при экспорте функций-членов? WMIWrapper.cpp names…
25 июл '12 в 14:55
4
ответа
Использование C++ искаженных функций из C
У меня есть файл.lib, исходный код которого у меня нет. Мне нужна экспортируемая функция из нее, но я пишу на C, а функция написана по имени C++. Я не могу написать extern "C"потому что у меня нет исходного кода. Как связать искаженную функцию без и…
11 сен '12 в 13:55
1
ответ
Калечащее имя в Си
Из моей памяти искаженное имя не используется в C, что является своего рода функцией, которой мы пользуемся, используя функцию C для ABI (Application Binary Interface). Но недавно я читал эту статью о калечащем имени в Си https://gustedt.wordpress.c…
06 июн '15 в 06:18
2
ответа
Нечетное VS имя, искажающее поведение?
Рассмотрим следующий бесполезный код, который я компилирую как C++ на Win10 64-bit: int test(int argc, char *argv[]); int main(int argc, char *argv[]) { return test(argc, argv); } int test(int argc, char **argv) { return 0; } Если весь этот код поме…
08 сен '15 в 01:29
1
ответ
Невозможно скомпилировать LibOTR
Я пытаюсь использовать libotr но у меня возникает следующая проблема при попытке скомпилировать очень простую инициализацию библиотеки. #include <libotr/proto.h> int main(int argc, char const *argv[]) { OTRL_INIT; // OtrlUserState userstate = …
01 фев '15 в 17:49