Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Wstawki asemblerowe

Ostatnio zmodyfikowano 2011-12-08 08:34
Autor Wiadomość
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 :(
P-45214
Elaine
» 2011-12-07 15:28:30
Przeczytaj sobie dokumentację asemblera, którego używasz.
P-45262
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...
P-45312
« 1 »
  Strona 1 z 1