[elektro] c procedure - register
VFX
info at vfx.hu
Fri Feb 12 21:51:24 CET 2016
Hali!
Köszi, ezt is kitanultam :)
Így jó is lett:
int proba(register int test)
Mondjuk tré egy kódot fordít de működik.
ÜDV. VFX.
2016.02.12. 21:17 keltezéssel, hg12345 írta:
> Hi,
>
> A fordító általában úgy optimalizál, hogy az első négy paraméter regiszterben adódjon át, a függvény visszatérési értéke meg mindig a 0. regiszterben lesz az ARM esetén.
>
> Ha magad akarod meghatározni mi legyen regiszterben átadva, akkor "register" módosítót kell használni.
> Ezt használhatód paraméter, lokális és globális változóhoz.
>
> Arra érdemes vigyázni, hogy egyszerre mennyi regiszter foglalsz le, mert emlékeim szerint csak az első 8 regisztert tudod így meghatározni, utána már a fordító nem tudja ezt a módosítót értelemszerűen használni.
>
> A GCC-ben van lehetőség még meghatározni melyik regiszter használd... legalábbis a MCHIP PIC24 esetén volt.
>
> VFX <info at vfx.hu> írta:
>> Hali!
>>
>> A nagy ARM fellángolásban vettem egy STM32 nucleo 334 board-ot.
>> Letöltöttem egy rakat GNU C fejlesztőt, de C-ben nem vagyok túl jó.
>>
>> Lehet-e GNU C-ben procedurát vagy függvényt hívni úgy, hogy a
>> paramétereket nem stack-ben hanem regiszterben adok át. x86-on lehet meg
>> Blackfin-en is, de ARM GNU alatt lehet-e és hogyan?
>>
>>
>> ÜDV. VFX.
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list