Penyusun dan Susunan Penilaian Tak Tentu Argumen Fungsi
Walaupun piawaian C membenarkan pelaksanaan menilai argumen fungsi dalam susunan yang tidak ditentukan, ia kekal tidak jelas sama ada penyusun benar-benar mengeksploitasi fleksibiliti ini. Seseorang mungkin menganggap bahawa penilaian kiri-ke-kanan akan menjadi lazim untuk mengelakkan pelanggaran kod bertulis yang buruk.
Walau bagaimanapun, susunan penilaian bergantung pada faktor seperti jenis hujah, konvensyen panggilan, seni bina dan tetapan pengkompil. Sebagai contoh, pemproses x86 dengan konvensyen panggilan Pascal menilai argumen dari kiri ke kanan, manakala konvensyen panggilan C (__cdecl) menilai mereka dari kanan ke kiri.
Akibatnya, adalah penting untuk program merentas platform untuk mempertimbangkan panggilan konvensyen untuk mengelakkan kejutan. Menurut blog Raymond Chen dan bahagian Stack and Calling pada manual GCC, penyusun mungkin menyimpang dari penilaian kiri ke kanan dalam keadaan tertentu.
Adalah penting untuk ambil perhatian bahawa standard bahasa membiarkan susunan penilaian tidak ditentukan, bermakna ia tidak menentukan dan tidak dijamin. Ini membolehkan penyusun dan platform yang berbeza mempunyai urutan pelaksanaan yang berbeza-beza untuk program dan input tertentu.
Atas ialah kandungan terperinci Bagaimanakah Pengkompil Sebenarnya Mengendalikan Susunan Fungsi Argumen yang Tidak Ditentukan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!