Assembly in C++

 ( pelz | 2008. április 13., vasárnap - 13:09 )

Sziasztok!

Hogyan illesszek be assembly kódot egy C++ programba?
Van rá valami fordítói direktíva?
Pl.: #asm #end_asm vagy ilyesmi?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem írtál se fordítót, se oprendszert. Mindenesetre gcc-vel gugli első találat az "asm in gcc"-re: http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html.

Még nem írtam, de még írhatok. Felkészülök a jövőre!

Kösz!

Aúú.

Azt ÍRD IDE, hogy milyen oprendszeren, melyik forditót használod!!!!

--
Debian - The "What?!" starts not!
http://nyizsa.uni.cc

Bocs! Tényleg nagyon félreértettem.

Természetesen Linux + GCC (G++)

Kösz a segítséget már tanulmányozom.

Szia Nyizsa!

Megnéztem a honlapodat, és ott találtam hivatkozást az Octave numerikus számoló programra.

Tetszik. Még jó, hogy rákattintottam az oldaladra!

Ja, az Octave jó, nekem rengetegszer nagyon megkönnyitette a dolgomat.

--
Debian - The "What?!" starts not!
http://nyizsa.uni.cc

Octave-forge az igazi! :)

"i pensieri stretti & il viso sciolto." -- Sir Henry Wootton

LOL!

Ne illessz! Nincs rá szükséged.

Miert akarsz assembly-t hasznalni c++-ba? Szerintem ird meg c/c++-ba az algoritmust, a gcc jobban tudja, hogy kell megcsinalni assembly-be. Akkor tedd be az assembly kodot, ha valami nagyon speci dolgot akarsz csinalni, ami c-vel sehogy sem sikerul, vagy a gcc valamiert nagyon nem jo kodot gyartana hozza.

Inline assembly (lasd lent), vagy csinalsz ASM-mel egy object file-t, es linkeled a C/C++ programhoz.

De az ASM folosleges a legtobb esetben.

"i pensieri stretti & il viso sciolto." -- Sir Henry Wootton

Tudom, hogy általában felesleges, de én kedvelem. Használatakor a számítógép igazi belső lényegét érzékelem.

Egyébként mit is kell látnom lent?

Persze, ASM az fun mindig, de ugy irtam (asszem :)), hogy tenyleges dologhoz csak akkor ajanlott, ha fontos es tudod, mit teszel.

Amugy az inline asm linkre utaltam, amit valaki belinkelt.

"i pensieri stretti & il viso sciolto." -- Sir Henry Wootton

linuxassembly.org

az inline assembler kicsit korlátozott, as vagy nasm kell, ha ki akarsz használni minden lehetőséget. Az inline ugyanaz a szintakszis, mint az as, azaz AT&T. Nasm, fasm intel.
.

En szemely szerint az Intel szintaxis rajongoja vagyok. Nomeg nasm foreva!

Azert hozzatennem, hogy az inline asm-nek van egy olyan elonye, hogy a fordito "felreteszi" a regisztereket, igy nem kell felned, hogy fontos adatot irsz at. Es inline. :)

Jah, obligatory link: http://asm.sourceforge.net/

"i pensieri stretti & il viso sciolto." -- Sir Henry Wootton

mondjuk SIMD-hez (SSE, MMX) hasznos, mert az intrinsiceket hajlamos elkuffantani a gcc (vagy lassabb lesz az optimalisnal vagy rosszabb esetben nem is mukodik)

- Use the Source Luke ! -

Na úgy látom, minden lebeszélés ellenére néhány érv is összegyűlt az assembly mellett. Lehet, hogy mégis érdemes megismerkedni a lehetőséggel.
Kösz az infókat!