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.
'pointer' : satır içi derleme kodu tarafından değiştirilen çerçeve işaretçisi yazmaç 'register'
Açıklamalar
Çerçeve işaretçisi yazmaç değiştirildi. Yazmaçları satır içi derleme bloğunuza veya çerçeve değişkeninize (değiştirilen yazmaç bağlı olarak yerel veya parametre) kaydedip geri yüklemeniz gerekir, aksi durumda kodunuz düzgün çalışmayabilir.
Example
Aşağıdaki örnek C4731 oluşturur:
// C4731.cpp
// compile with: /W1 /LD
// processor: x86
// C4731 expected
void bad(int p) {
__asm
{
mov ebp, 1
}
if (p == 1)
{
// ...
}
}
EBP, çerçeve işaretçisidir (FPO'ya izin verilmez) ve değiştiriliyor. Daha sonra başvurulduğunda p , öğesine göre EBPbaşvurulur. Ancak EBP kodun üzerine yazılmıştır, bu nedenle program düzgün çalışmaz ve hatta hataya neden olabilir.