Saya membaca pada saat itu "C ++ Efektif" yang ditulis oleh Meyers dan menemukan istilah "unit terjemahan".
Bisakah seseorang tolong beri saya penjelasan tentang:
1) Apa sebenarnya itu
2) Kapan saya harus mempertimbangkan menggunakannya saat pemrograman dengan C ++
3) Jika hanya terkait dengan C ++, atau dapat digunakan dengan bahasa pemrograman lain
Saya mungkin sudah menggunakannya tanpa mengetahui istilah ....
Jawaban:
Dari sini : ( tautan mesin wayback )
sumber
Unit terjemahan untuk semua maksud dan tujuan file (.c / .cpp), setelah selesai termasuk semua file header.
http://msdn.microsoft.com/en-us/library/bxss3ska%28VS.80%29.aspx
sumber
Sebuah pertanyaan sulit untuk dijawab secara pasti. Status standar C ++:
Jadi untuk sebagian besar maksud dan tujuan, unit terjemahan adalah file sumber C ++ tunggal dan header atau file lain yang disertakan melalui mekanisme preprocessor #include.
Mengenai pertanyaan Anda yang lain:
Anda tidak dapat tidak mempertimbangkannya - unit terjemahan adalah dasar dari program C ++.
Bahasa lain memiliki konsep yang serupa, tetapi semantiknya akan sedikit berbeda. Sebagian besar bahasa lain tidak menggunakan preprosesor, misalnya.
sumber
Buku itu membuatnya cukup jelas. Ketika Meyers merujuk ke "Unit terjemahan", ia berarti file kode sumber.
sumber
Selain ODR, unit terjemahan penting dalam definisi ruang nama tanpa nama, yang menggantikan salah satu penggunaan lama "statis".
Saya kira saya masih belum memiliki cukup poin untuk menambahkan komentar di bawah jawaban teratas.
sumber
Unit terjemahan adalah kode yang diteruskan ke kompilator dengan benar. Ini biasanya berarti keluaran dari menjalankan preprosesor pada file .c.
sumber
Program C dan C ++ terdiri dari satu atau lebih file sumber, yang masing-masing berisi beberapa teks program. File sumber, bersama dengan file yang disertakan (file yang disertakan menggunakan arahan #include preprocessor) tetapi tidak termasuk bagian kode yang dihapus oleh arahan kompilasi-kondisional seperti #jika, disebut "unit terjemahan."
sumber
Menurut MSDN : Program C dan C ++ terdiri dari satu atau lebih file sumber, yang masing-masing berisi beberapa teks program. File sumber, bersama dengan file yang disertakan (file yang disertakan menggunakan arahan #include preprocessor) tetapi tidak termasuk bagian kode yang dihapus oleh arahan kompilasi-kondisional seperti #jika, disebut "unit terjemahan."
sumber
Setiap file cpp / c (implementasi) akan dikonversi menjadi unit terjemahan (mis., File objek (.obj)) header dalam file cpp akan diganti dengan teks aktual dari file header.
sumber
Seperti yang dikatakan orang lain, unit terjemahan pada dasarnya adalah isi dari file sumber setelah preprocessing. Ini adalah produksi teratas dalam tata bahasa; Anda hanya perlu khawatir tentang hal itu jika Anda menulis kompiler C atau C ++.
sumber
Dalam pandangan saya, "unit terjemahan" biasanya satu file sumber "pasca-preprocessing". Anda bisa mendapatkan detail lebih lanjut di halaman MSDN ini. http://msdn.microsoft.com/en-us/library/bxss3ska(v=vs.80).aspx
sumber