Apakah C # akan bergabung dengan kompiler C ++ asli? [Tutup]


23

Menurut posting ini:

http://channel9.msdn.com/Forums/Coffeehouse/MS-working-on-a-same-compiler-for-C-AND-C--Tidak-dalam-incubasi-tapi-untuk-produksi-

Berapa banyak kebenaran dalam posting ini? Haruskah ini ditanggapi dengan serius oleh programmer hardcore C ++ (game devs dll) ??

Sunting: Ada tujuan lain dari pertanyaan ini ... Apakah C # akan kompatibel dengan C ++?


5
+1 karena posting pekerjaan yang ditautkan di situs Microsoft memang menyebutkan kompiler untuk c # dan C ++ careers.microsoft.com/jobdetails.aspx?jid=81769
MarkJ

Saya bertanya-tanya mengapa ini tidak ada dalam berita hari ini ....
user73830

Baik C # dan C ++ dapat mengambil manfaat dari optimisasi yang sama yang dilakukan pada IR umum, oleh karena itu mungkin masuk akal untuk memiliki kompilator terpadu.
SK-logic

1
Mengapa itu harus kompatibel? Bahasa-bahasa ini terlalu berbeda, yang tidak berarti keduanya tidak dapat berbagi lapisan tengah kompiler yang sama (sambil tetap menargetkan backend yang berbeda).
SK-logic

1
Misalnya, analisis polihedral (yang telah mereka sebutkan secara eksplisit dalam iklan) akan persis sama untuk kedua bahasa, dengan beberapa ketergantungan tambahan pada analisis aliasing untuk frontend C ++.
SK-logic

Jawaban:


9

Tidak ada peluang di neraka. Itu akan mengambil refactoring paling drastis dari suatu bahasa yang pernah membuatnya bekerja dengan C ++ dan itu akan merusak setiap inci dari kode C # yang ada. Mereka kemungkinan besar hanya mencoba berbagi kerangka pembuatan kode asli yang sama.


6

Mungkin salah dalam hal spesifik. MS sudah memiliki kompiler MSIL asli dalam bentuk Ngen. Tidak akan mengejutkan saya jika Ngen dan cl menggunakan kode gen yang sama sehingga mereka berbagi perbaikan seperti vektorisasi otomatis yang disebutkan.


Tidak, cl tidak membagikan backend umum apa pun dengan ngen.
SK-logic
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.