next up previous contents
Elõre: Tárolási osztályokhatáskörök Fel: Az elõfeldolgozó Vissza: File-beépítés

Implementáció-függõ vezérlõsorok

Ezek az ún. pragma direktívák, amelyeknek általános alakja:

        #pragma  direktívanév   paraméterek

Ezekben minden fordítónak lehetõsége van arra, hogy tetszõleges, implementáció-függõ vezérlõutasítást szabjon meg, ugyanis - definíció szerint - ha egy fordító nem ismer fel egy pragma direktívanevet, akkor az egész sort figyelmen kívül kell hagynia. A BORLAND C++ három pragma utasítást ismer. A #pragma inline vezérlõsor csak a BORLAND C++ parancssor-változatában (BCC) használható , és arra figyelmezteti a fordítót, hogy beépített assembly utasítások találhatók a forrásszövegben. Ekkor a BCC nem tárgykódot generál, hanem assembly forrásszöveget, amelybe beiktatja a közvetlenül megadott assembly forrássorokat, és az így kapott szövegre elindítja a TASM assemblert. A második pragma-direktíva a #pragma warn. Ennek segítségével felül lehet bírálni a Display warnings fordításvezérlõ kapcsolók beállított értékeit, és a forrásszöveg egyes részeire az alapértelmezéstõl eltérõ figyelmeztetési szintet választhatunk. A direktívának háromféle alakja van:

            #pragma warn +xxx
            #pragma warn -yyy
            #pragma warn .zzz
A fenti utasítások hatására az xxx figyelmeztetõ üzenet generálását bekapcsoljuk, az yyy-ét ki, míg a zzz-ét visszaállítja az eredeti értékére. A használható hárombetûs rövidítések és a hozzájuk tartozó figyelmeztetések jelentéseit a BORLAND C++ User's Guide 6. fejezetében találhatjuk meg.

A harmadik pragma-utasítás a #pragma saveregs direktíva, amely arra utasítja a fordítót, hogy egy huge függvényre olyan kódot generáljon, ami belépéskor elmenti az összes regiszter értékét, és kilépéskor visszaállítja azokat. A pragmát közvetlenül az adott függvény definíciója elé kell helyezni, és csak arra az egy függvényre vonatkozik.