Derleyici Uyarısı (Düzey 3) C4738
32 bit kayan sonuç bellekte depolanıyor, olası performans kaybı
C4738, atama, atama, geçirilen bağımsız değişken veya başka bir işlemin sonucunun yuvarlanması veya işlemin yazmaçların bitip bellek kullanması (taşma) gerektiği konusunda uyarır. Bu, performans kaybına neden olabilir.
Bu uyarıyı çözmek ve yuvarlamaktan kaçınmak için /fp:fast ile derleyin veya yerine float
kullanındouble
.
Bu uyarıyı çözmek ve yazmaçların tükenmesini önlemek için hesaplama sırasını değiştirin ve inlining kullanımınızı değiştirin
Bu uyarı varsayılan olarak kapalıdır. Daha fazla bilgi için bkz . Varsayılan Olarak Kapalı Olan Derleyici Uyarıları.
Örnek
Aşağıdaki örnek C4738 oluşturur:
// C4738.cpp
// compile with: /c /fp:precise /O2 /W3
// processor: x86
#include <stdio.h>
#pragma warning(default : 4738)
float func(float f)
{
return f;
}
int main()
{
extern float f, f1, f2;
double d = 0.0;
f1 = func(d);
f2 = (float) d;
f = f1 + f2; // C4738
printf_s("%f\n", f);
}
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin