Compiler Warning (Level 3) C4738
menyimpan float 32-bit mengakibatkan memori, kemungkinan hilangnya performa
C4738 memperingatkan bahwa hasil tugas, transmisikan, argumen yang diteruskan, atau operasi lain mungkin perlu dibulatkan atau bahwa operasi kehabisan register dan perlu menggunakan memori (tumpahan). Ini dapat mengakibatkan kehilangan performa.
Untuk mengatasi peringatan ini dan menghindari pembulatan, kompilasi dengan /fp:fast atau gunakan double
alih-alih float
.
Untuk mengatasi peringatan ini dan menghindari kehabisan register, ubah urutan komputasi dan ubah penggunaan inlining Anda
Peringatan ini nonaktif secara default. Untuk informasi selengkapnya, lihat Peringatan Pengkompilasi yang Nonaktif secara Default.
Contoh
Sampel berikut menghasilkan C4738:
// 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);
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk