Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
fungsi 'fungsi' yang ditandai sebagai __forceinline tidak sebaris
Fungsi yang diberikan dipilih untuk ekspansi sebaris, tetapi pengkompilasi tidak melakukan inlining.
Meskipun __forceinline
merupakan indikasi yang lebih kuat untuk kompilator daripada __inline
, inlining masih dilakukan atas kebijaksanaan kompilator, tetapi tidak ada heuristik yang digunakan untuk menentukan manfaat dari inlining fungsi ini.
Dalam beberapa kasus, pengkompilasi tidak akan sebaris fungsi tertentu karena alasan mekanis. Misalnya, pengkompilasi tidak akan sebaris:
Fungsi jika akan mengakibatkan pencampuran SEH dan C++ EH.
Beberapa fungsi dengan salin objek yang dibangun diteruskan oleh nilai ketika -GX/EHs/EHa aktif.
Fungsi yang mengembalikan objek yang tidak dapat dilepaskan berdasarkan nilai ketika -GX/EHs/EHa aktif.
Fungsi dengan rakitan sebaris saat mengkompilasi tanpa -Og/Ox/O1/O2.
Fungsi dengan daftar argumen variabel.
Fungsi dengan
try
pernyataan (penanganan pengecualian C++).
Sampel berikut menghasilkan C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}