Свързани въпроси 'abi'
Как да демонтирам C++ име в clang (или gcc)?
Опитвам се да напиша бърз и мръсен деманглер за clang. Намерих част от код , който използва abi::__cxa_demangle , но не мога да разбера коя заглавка изисква. Очевидният избор е ABI.h , но:
demangle.cpp:2:10: fatal error: 'ABI.h' file not...
5097 изгледи
schedule
12.10.2022
Visual C++ x86 ABI: как VC++ връща стойност?
Знам, че 1/2/4-байтови цели числа се връщат в eax , а 8-байтови цели числа се връщат в eax:edx .
Между другото, как се връщат 4/8/16-байтови стойности с плаваща запетая (Може би си спомням, че long double може да е 16 байта..) в...
169 изгледи
schedule
18.11.2023
указател към va_list в amd64 ABI
Имам притеснения относно различни функции под Linux amd64 (x86_64).
Моят пример компилира и работи добре на linux i386 (ia32), но когато е създаден за linux amd64, GCC създава такива грешки:
stdarg.c: In function ‘vtest’:
stdarg.c:21:5:...
1653 изгледи
schedule
13.12.2023
Могат ли вградените пространства от имена да се използват за поддържане на обратна съвместимост в споделена библиотека?
Обосновката за вградените пространства от имена на C++ е едновременно изходен код и двоична съвместимост (вижте статията на Herb Sutter, свързана в N2535 ), но не успях да намеря добри примери за запазване двоична съвместимост за съществуващи...
473 изгледи
schedule
16.11.2022
Как Enum разпределя памет на C?
Опитвам се да работя с език C и Assembly (intelx8086).
Аз също използвам един клас, който е внедрен от мой приятел. Има
typedef enum data_10 {a=0,b=7,c=10,} data_10_type;
Искам да работя с този клас побитово (известен още като...
9547 изгледи
schedule
02.03.2024
Как да инструктирам компилатора да генерира псевдоним за виртуална функция?
Вижте този въпрос за предистория.
По принцип имам следната дефиниция на клас
class MyClass {
virtual int foo4(double, int);
};
Има ли начин да инструктирам компилатора да генерира два символа, които биха се разрешили на foo4 ?...
475 изгледи
schedule
27.03.2024
Какъв е форматът на структурата x86_64 va_list?
Някой има ли справка за представянето на va_list в x86_64 ABI (този, който се използва в Linux)? Опитвам се да отстраня грешки в някакъв код, където стекът или аргументите изглеждат повредени и наистина би помогнало да разбера какво трябва да...
16930 изгледи
schedule
07.05.2024
Конвенция за повикване от ARM към C, NEON се регистрира за запазване
Има подобна публикация , която обхваща обикновените регистри. Ами регистрите NEON. Доколкото си спомням, или горната половина, или долната половина на регистрите трябва да бъдат запазени при извиквания на функции. Никъде не мога да намеря тази...
5638 изгледи
schedule
22.05.2024