Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft'a Özgü
naked
depolama sınıfı özniteliği, C diline yönelik Microsoft'a özgü bir uzantıdır. naked
depolama sınıfı özniteliğiyle bildirilen işlevler için derleyici giriş ve sonuç kodu olmadan kod oluşturur. Satır içi derleyici kodunu kullanarak kendi giriş/sonuç kodu dizilerinizi yazmak için bu özelliği kullanabilirsiniz. Çıplak işlevler, özellikle sanal cihaz sürücülerinin yazılmasında yararlıdır.
naked
Öznitelik yalnızca bir işlevin tanımıyla ilgili olduğundan ve tür değiştirici olmadığından, çıplak işlevler Genişletilmiş Depolama Sınıfı Öznitelikleri'nde açıklanan genişletilmiş öznitelik söz dizimini kullanır.
Aşağıdaki örnekte, naked
özniteliğine sahip bir işlev tanımlanmaktadır:
__declspec( naked ) int func( formal_parameters )
{
/* Function body */
}
Veya alternatif olarak:
#define Naked __declspec( naked )
Naked int func( formal_parameters )
{
/* Function body */
}
naked
özniteliği, yalnızca işlevin giriş ve sonuç dizileri için derleyicinin kod oluşturma yapısını etkiler. Bu tür işlevleri çağırmak için oluşturulan kodu etkilemez. Bu nedenle, naked
özniteliği işlev türünün bir parçası olarak kabul edilmez ve işlev işaretçileri naked
özniteliğine sahip olamaz. Ayrıca, naked
özniteliği veri tanımına uygulanamaz. Örneğin, aşağıdaki kod hatalar oluşturur:
__declspec( naked ) int i; /* Error--naked attribute not */
/* permitted on data declarations. */
naked
özniteliği, yalnızca işlevin tanımıyla ilgilidir ve işlevin prototipinde belirtilemez. Aşağıdaki bildirim, bir derleyici hatası oluşturur:
__declspec( naked ) int func(); /* Error--naked attribute not */
/* permitted on function declarations. */ \
END Microsoft'a Özgü