Perbezaan antara _tmain() dan main() dalam C
Dalam C , titik masuk program standard ialah main(), yang menerima salah satu daripada tandatangan ini:
int main(); int main(int argc, char* argv[]);
Microsoft, bagaimanapun, memperkenalkan sambungan yang dipanggil wmain(), yang menggantikan tandatangan kedua dengan:
int wmain(int argc, wchar_t* argv[]);
Untuk memudahkan peralihan antara Unicode (UTF-16) dan set aksara berbilangbaitnya, Microsoft juga mentakrifkan _tmain() yang, apabila Unicode didayakan, disusun sebagai wmain, dan sebaliknya sebagai main().
Perbezaan Antara Watak Pengendalian
Perbezaan antara main() dan _tmain() dalam contoh anda timbul daripada penggunaan main() yang salah. wmain() direka untuk menerima hujah wchar_t, manakala main() mengharapkan char. Memandangkan pengkompil lemah dalam menguatkuasakan jenis yang betul untuk main(), atur cara mentafsir tatasusunan rentetan wchar_t sebagai rentetan char.
Dalam UTF-16, aksara ASCII diwakili sebagai sepasang bait, dengan Nilai ASCII diikuti dengan bait nol. Memandangkan CPU x86 adalah little-endian, bait ini ditukar. Oleh itu, dalam rentetan aksara, yang ditamatkan nol, atur cara anda melihat satu siri rentetan, setiap satu bait panjang.
Pilihan untuk Pengaturcaraan Windows
Apabila bekerja dengan pengaturcaraan Windows, tiga pilihan utama tersedia:
Adalah penting untuk ambil perhatian bahawa sambungan khusus Microsoft ini tidak mematuhi standard C, dan oleh itu mungkin tidak disokong pada platform lain.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `main()` dan `_tmain()` dalam Pengaturcaraan Windows C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!