Rumah >pembangunan bahagian belakang >C++ >Apakah Perbezaan Antara `sebaris`, `sebaris statik` dan `sebaris luar` dalam C dan C ?
Memahami sebaris luar
Dalam bahasa pengaturcaraan C, fungsi sebaris menawarkan petunjuk kepada pengkompil untuk mengoptimumkan kod secara berpotensi dengan memasukkan badan fungsi secara terus pada titik seruan dan bukannya menghasilkan subrutin yang berasingan panggilan.
Perbezaan antara variasi sebaris
Dalam K&R C dan C89, tiada semantik standard untuk sebaris, tetapi banyak penyusun menyokongnya dengan tafsiran yang berbeza-beza. GCC memperkenalkan tiga variasi: sebaris, sebaris statik dan sebaris luar.
C99 dan GNU99
Dalam C99, semantik untuk sebaris luar telah disemak untuk mencerminkan gelagat sebaris GNU89. Sebaris dan sebaris statik kekal sama.
C
Dalam C , fungsi sebaris mesti mempunyai takrifan yang sama di mana-mana sahaja ia digunakan. Takrifan berbilang simbol yang sama dikendalikan oleh pengkompil/penyambung. Sebaris statik mahupun sebaris luar tidak ditakrifkan dalam C , walaupun sesetengah penyusun mungkin menyokongnya.
Memastikan sebaris dengan sebaris luar
Dalam senario khusus anda, di mana anda memerlukan sebaris untuk fungsi menggunakan FAIL dan Makro LINE, sebaris luar tidak menjamin bahawa fungsi akan sebaris. Walau bagaimanapun, ia adalah setara C99 yang paling hampir untuk mencapai tingkah laku yang diingini ini. Jika fungsi tidak diselaraskan, pengkompil atau pemaut mungkin mengeluarkan ralat.
Perbezaan pengkompil dan vendor
Gelagat merentas vendor dan versi pengkompil yang berbeza boleh berbeza-beza, jadi sentiasa dinasihatkan untuk merujuk dokumentasi khusus untuk persekitaran anda.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `sebaris`, `sebaris statik` dan `sebaris luar` dalam C dan C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!