Perbezaan antara pengkompil GCC dan CC

Perbezaan antara pengkompil GCC dan CC

GCC vs CC Compiler

CC adalah nama yang diberikan kepada perintah penyusun unix. Ia digunakan sebagai arahan pengkompil lalai untuk sistem pengendalian anda dan juga boleh dilaksanakan dengan arahan yang sama. GCC, sebaliknya, adalah sistem operasi pengkompil GNU. Pada sistem yang dijalankan di GNU dan Linux, adalah perkara biasa untuk mencari CC menjadi pautan supaya skrip boleh menggunakan sama ada pengkompil secara bergantian dan mudah. Terdapat pelbagai perbezaan yang diperhatikan berkaitan dengan menggunakan koleksi pengkompil GNU dan pengkompil CC. Perbezaan ini biasanya boleh dikelompokkan menjadi dua kumpulan utama. Salah satu daripadanya lebih spesifik manakala kumpulan lain lebih generik.

Perbezaan

Perbezaan utama antara kedua -dua tawaran dengan penyusun C dan C ++ penyusun. Pengkompil C ++ menerima program C ++ tetapi tidak menyusun program di C sewenang -wenangnya. Ini biasanya benar, walaupun telah ditunjukkan bahawa adalah mungkin untuk menulis kod bahasa C dalam subset yang dapat difahami dengan baik oleh C ++ walaupun banyak program C tidak sah C ++ program.  Sebaliknya, penyusun C menerima program C tetapi menolak sebahagian besar program C ++ yang berjalan di dalamnya. Sebab masalah ini timbul adalah bahawa kebanyakan program C ++ menjalankan pembinaan yang tidak tersedia di C.

Perpustakaan yang ada untuk bahasa program ini bergantung pada bahasa. Program C ++ boleh dilakukan di perpustakaan C, tetapi ini adalah platform khusus. Program C di sisi lain tidak boleh menggunakan perpustakaan C ++; Oleh itu C ++ cenderung mempunyai set perpustakaan yang lebih besar daripada c.

Pada Solaris, kod objek yang dihasilkan oleh perintah pengkompil tidak serasi dengan kod yang dihasilkan oleh G ++ kerana ini adalah dua penyusun berasingan dan konvensyen mereka akan berbeza. Titik berbeza yang berbeza adalah pengendalian pengecualian dan namakan nama. Walau bagaimanapun, penting untuk diperhatikan bahawa nama yang penting adalah penting untuk mengelakkan serasi objek daripada dihubungkan bersama.  Ini berkuat kuasa menunjuk kepada fakta bahawa penggunaan perpustakaan yang disusun dalam keperluan CC bahawa keseluruhan program disusun di CC. Juga, jika anda perlu menggunakan perpustakaan yang disusun dengan CC dan yang lain dengan G ++, penyusunan semula perpustakaan mesti dilakukan untuk memastikan fungsi yang dikehendaki.

Dalam kualiti pemasangan yang dihasilkan, GCC, yang merupakan koleksi pengkompil GNU, sangat baik dalam tugas ini. Penyusun asli tetapi berfungsi dengan lebih baik pada masa -masa tertentu. Penyusun Intel boleh dikatakan mempunyai pengoptimuman menyeluruh yang belum direplikasi di GCC.

Kedua -dua penyusun semuanya baru dengan piawaian semasa, walaupun terdapat perbezaan kecil antara bahasa piawai dan bahasa yang disokong oleh pengkompil. Piawaian ini adalah (C ++ 98, C ++ 2003, C99). Sokongan C89 yang lebih tua boleh didapati di kedua -dua penyusun dan pemahaman tentang respons yang diharapkan adalah penting untuk memastikan pengkompil itu keluar seperti yang diharapkan. Semua dalam semua GCC nampaknya tertumpu pada menjadikan kehidupan lebih mudah disebabkan oleh sambungan dan tweak yang dapat dilakukan untuk mendapatkan hasil yang diinginkan.

Ringkasan

Terdapat masalah dengan keserasian silang perpustakaan pengkompil C dan C ++.

Program C ++ boleh dilakukan di perpustakaan C tetapi ini adalah platform khusus.

Untuk menggunakan perpustakaan yang terdiri daripada CC memerlukan keseluruhan program untuk disusun dengan CC dan bukan GCC.
Sekiranya anda mempunyai perpustakaan yang disusun di CC dan G ++, salah satu perpustakaan mesti dikompilasi.

GCC melakukan pekerjaan yang luar biasa dalam mewujudkan perhimpunan yang berkualiti.

Kedua -dua CC dan GCC dalam ciri bahasa adalah hebat berhubung dengan piawaian semasa.