gcc inline assembler
-
Hi,
ich benutze das Compiler-Package von MinGW in der Version 2.0.0 sowie deren IDE MinIDE 0.9. Im Package enthalten ist GCC-3.2-core-20020817-1. Damit versuche ich ne ganz normale C Datei mit Inline Assembler zu kompilieren. Leider klappt das net so richtig. Beim der asm Anweisung (probiert mit asm, __asm, __asm__) bringt er folgenden Fehler:
parse error before '{' token
Bei den asm-Anweisungen selbst macht er ebenfalls schlapp und sagt:
invalid suffix on integer constant
(was aber wohl daran liegt, dass er den Block nicht als Assembler Block interpretiert)Habe übrigens Intel Schreibweise der asm-Befehle. Dies sollte GCC doch in der Version 3.2 beherrschen (cc1 -masm=intel).
Wäre nett, wenn mir jemand erklären könnte was ich falsch mache und wie's richtig wäre.
-
-
ok, hab jetzt noch ein bissl rumprobiert. {} durch () ersetzt und jeden Befehl in Hochkommas (") gesetzt. Damit scheints erstmal zu gehen. Ist trotzdem irgendwie k****. Kann somit nicht mehr mit VC kompilieren. Vielleicht hat ja jemand ne clevere Idee wie man Inline Assembler so gestalten kann, dass er mit GCC und VC kompiliert werden kann.
-
wie wärs mit makros??
müsste doch funktionieren oder??mfg
Plassy
-
tja, dass kommt davon, wenn man nicht Standard Sachen benutzt
der GCC setzt das Macro __GNUC__, dann musst du nur noch #ifdef benutzen