intrinsic
Pragma'ler bağımsız değişken listesinde belirtilen işlev çağrıları gerçek olduğunu belirtir.
#pragma intrinsic( function1 [, function2, ...] )
Notlar
İç pragma derleyici bir işlevin davranışı bilinen var. söyler. Derleyicinin işlevini çağırın ve işlev çağrısının satır içi yönergelerle değiştirmemeyi daha iyi bir performans verecekse.
Kitaplığı işlevlerini içsel formlarla aşağıda listelenmiştir. Bir kez bir iç pragma görülen, belirtilen bir iç işlevi içeren ilk işlev tanımı etkili olur. Kaynak dosyasının sonuna ya da görünümünü etkisi devam eder bir işlevi pragma aynı iç işlevi belirtme. İç pragma yalnızca bir işlev tanımı dışında kullanılabilir — genel düzeyde.
Aşağıdaki işlevler içsel formların ve belirttiğiniz zaman içsel formlar kullanılır /Oi:
|
|||
|
|||
|
İşlev çağrıları yükü yoktur ancak oluşturulan kodu nedeniyle büyük iç işlevlerini kullanan programlar daha hızlı olduğu.
x 86 özel
_Disable ve _enable iç bilgileri kesmeler devre dışı bırak/etkinleştir için çekirdek modu yönergeleri oluşturabilir ve çekirdek modu sürücüleri yararlı olabilir.
Örnek
Komut satırından aşağıdaki kod derleme "cl - c-SK'lar sample.c" ve sample.asm x 86 klasörüne bırakmak olduğunu görmek için bakmak CLI ve STI yönergeleri:
// pragma_directive_intrinsic.cpp
// processor: x86
#include <dos.h> // definitions for _disable, _enable
#pragma intrinsic(_disable)
#pragma intrinsic(_enable)
void f1(void) {
_disable();
// do some work here that should not be interrupted
_enable();
}
int main() {
}
Son x 86 özel
Aşağıda listelenen işlevleri kayan nokta gerçek içsel formlar yoktur. Bunun yerine doğrudan bunları program yığına dağıtmaya yerine kayan nokta yongası için bağımsız değişken geçirdiğinizde sürümleri vardır:
|
Belirttiğiniz zaman kayan nokta aşağıda listelenen işlevleri doğru içsel formların /Oi, /Og, ve /fp:fast (veya /Og içeren herhangi bir seçeneği: /Ox, /O1ve /O2):
|
|
|
Kullanabileceğiniz /fp: katı veya /Za nesil içsel doğru kayan nokta seçenekleri geçersiz kılmak için. Bu durumda, işlevleri doğrudan bunları program yığına dağıtmaya yerine kayan nokta yongası için bağımsız değişken geçirdiğinizde kitaplığı yordamları olarak oluşturulur.
Bkz: # pragma işlevi bilgi ve iç bilgileri kaynak metin bloğu için etkinleştirme/devre dışı bırakma konusunda bir örnek için.