[C++] Wstawki asemblerowe
Ostatnio zmodyfikowano 2011-12-08 08:34
xevuel Temat założony przez niniejszego użytkownika |
[C++] Wstawki asemblerowe » 2011-12-06 15:33:05 Chciałem zoptymalizować kawałek programu i w związku z tym postanowiłem użyć asemblera. No i tu mam problem bo, po pierwsze Dev używa innej składni asemblera niż Intelowska, tak więc użyłem
asm( ".intel_syntax noprefix\n\t" );
I tu dwie kwestie:
1. przy wpisaniu tego kodu bezpośrednio w Devie, składnia się nie zmienia, występują tylko dodatkowe błędy.
2. Odnalazłem w podkatalogach Deva program as.exe, i przy jego użyciu skompilowałem ten sam kod, i żadnych błędów już nie dostałem, a składnia się zmieniła na Intelowską.
Dlaczego tak się dzieje?
Po drugie, tak czy tak nie działa instrukcja invoke . Zaś po zamienieniu jej na odpowiednie wywołania push i call , dostaję błąd undefined reference to MessageBox , a instrukcji includelib asembler nie przyjmuje. Czy ktoś wie co należy zrobić?
PS. Nie piszcie "przesiądź się na coś normalnego", bo w C::B jest to samo :( |
|
Elaine |
» 2011-12-07 15:28:30 |
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-12-08 08:34:28 hmm... Ale nie ma tam nic ani o invoke, ani o includelib (czy im podobnym)... Tak samo nie pisze, jak zmienić składnię na Intela... |
|
« 1 » |