Próbuję skompilować stary projekt w języku C++ w Code :: Blocks przy użyciu kompilatora gcc, a po naprawieniu kilku innych problemów uderzyłem w ścianę: projekt ma plik z Intel-style inline ASM napisany jakoZespół inline w stylu Intela w gcc
_asm {
code here
}
i kompilator odmawia skompilować go z „błędem:«_asm»nie został zadeklarowany w tym zakresie”.
Spędziłem trochę czasu szukając rozwiązań, ale jedyne, co mogę znaleźć, to dodać -masm=intel
do opcji kompilacji (których próbowałem i nie mogę dostać do pracy) lub przekonwertować kod do asm ("code here");
(co nie jest możliwe z powodu ogromnej ilości ASM). Czy ktoś wie, w jaki sposób mogę uzyskać gcc, aby skompilować ten kod, tak jak jest, czy powinienem zrezygnować i użyć innego kompilatora?
Powtórzenie makra, a następnie użycie skryptu do zamiany linii _asm na makro. Wtedy uzyskasz lepszą niezależność od kompilatora. – daramarak
Makro byłoby pomysłem, chociaż nigdy wcześniej go nie używałem, więc musiałbym to sobie wyobrazić (pomimo tego, co moje pytanie sprawiło, że brzmi, jestem właściwie kompletnym noobem z tym materiałem = /) . Ponadto, procedury asma są powiązane razem z etykietami lub czymś ('_asm {\ n tutaj kod \ n} L01: _ _asm ...') i nie jestem pewien jak sobie z tym poradzić. – Dinoguy1000
Kod nie będzie się kompilował tak jak jest, musisz go zmienić, aby skompilował go z gcc (lub zamiast tego użyj MSVC). –