Mengapa Tulisan Atom Tidak Dioptimumkan dalam Penyusun
Soalan: Mengapakah penyusun tidak menggabungkan tulisan atom yang berlebihan nilai yang sama kepada satu atom pembolehubah?
Penjelasan:
Piawaian C 11/14 membenarkan lipatan atau penyatuan stor berturutan kepada pembolehubah atom menjadi satu stor. Dalam sesetengah kes, pengoptimuman ini boleh dilakukan walaupun kedai mempunyai nilai yang berbeza. Walau bagaimanapun, penyusun tidak melaksanakan pengoptimuman ini pada masa ini disebabkan oleh beberapa faktor.
Sebab Pengoptimuman Pengelakan:
Penyelesaian dan Pertimbangan Masa Depan:
Pada masa ini, tiada cara untuk secara eksplisit mengawal pengoptimuman ini dalam piawaian C 11/14. Walau bagaimanapun, perbincangan sedang dijalankan untuk melanjutkan std::atomic API untuk memberi pengaturcara lebih kawalan ke atas pengoptimuman tersebut. Ini boleh membolehkan pengkompil melakukan pengoptimuman apabila berguna tanpa melanggar peraturan pesanan.
Pendekatan Alternatif:
Menggunakan pembolehubah atom yang tidak menentu boleh menghalang penyusun daripada mengoptimumkan storan atom. Walau bagaimanapun, ia bukanlah penyelesaian yang mudah dan mungkin masih membawa kepada tingkah laku yang tidak dijangka dalam sesetengah kes.
Atas ialah kandungan terperinci Mengapa Pengkompil Tidak Mengoptimumkan Tulisan Atom Berlebihan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!