Perbezaan antara GCC dan CC Compiler

GCC vs CC Compiler

CC adalah nama yang diberikan kepada UNIX Compiler Command. Ia digunakan sebagai perintah pengurip lalai untuk sistem operasi anda dan juga boleh dilaksanakan dengan arahan yang sama. Sebaliknya, GCC adalah sistem pengendalian GNU Compiler. Pada sistem yang dijalankan oleh GNU dan Linux, adalah perkara biasa untuk mencari CC sebagai pautan supaya skrip boleh menggunakan pengkompil sama ada secara bergantian dan mudah. Terdapat pelbagai perbezaan yang diperhatikan berkaitan dengan penggunaan pengkompil GNU dan pengkompil CC. Perbezaan ini secara amnya boleh dikumpulkan ke dalam dua kumpulan utama. Salah satunya adalah lebih spesifik manakala kumpulan lain lebih generik.

Perbezaan

Perbezaan utama antara kedua-dua perjanjian dengan penyusun C dan penyusun C ++. Penyusun C ++ tidak menerima program C ++ tetapi tidak menyusun program dalam C sewenang-wenangnya. Ini umumnya 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 ++. Sebaliknya, penyusun C menerima program C tetapi menolak sebahagian besar program C ++ yang berjalan di dalamnya. Sebabnya masalah ini timbul adalah bahawa kebanyakan program C + + menjalankan konstruk yang tidak terdapat dalam C.

Perpustakaan yang ada untuk bahasa-bahasa program ini sangat bergantung pada bahasa. Program C ++ boleh dilakukan di perpustakaan C, tetapi ini adalah platform khusus. Program C sebaliknya 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 pengompil tidak semestinya sesuai dengan kod yang dihasilkan oleh g ++ kerana ini adalah dua penyusun berasingan dan konvensyen mereka akan berbeza. Mata yang berbeza utama adalah pengendalian pengecualian dan penipuan nama. Walau bagaimanapun penting untuk diperhatikan bahawa pemalsuan nama adalah penting untuk mengelakkan serasi objek daripada dihubungkan bersama. Ini sebenarnya memberi kesan kepada fakta bahawa penggunaan perpustakaan yang dikumpulkan dalam CC memerlukan keseluruhan program dikumpulkan di CC. Juga, jika anda perlu menggunakan perpustakaan yang disusun dengan CC dan yang lain dengan g ++, pengumpulan semula perpustakaan mesti dilakukan untuk memastikan fungsi yang diingini.

Dalam kualiti pemasangan yang dihasilkan, GCC, yang merupakan Koleksi Pengumpul GNU, sangat baik dalam tugas ini. Walau bagaimanapun, penyusun asli berfungsi lebih baik. Penyusun Intel boleh dikatakan mempunyai pengoptimuman menyeluruh yang belum ditiru dalam GCC.

Kedua-dua penyusun adalah semua yang baru kepada piawaian semasa, walaupun ada perbezaan kecil antara bahasa piawaian dan bahasa yang menyokong compiler. Piawaian ini adalah (C ++ 98, C ++ 2003, C99). Sokongan C89 yang lebih lama boleh didapati di kedua-dua penyusun dan pemahaman tentang respons yang dijangkakan adalah penting untuk memastikan bahawa pengkompil melancarkan seperti yang diharapkan. Semua dalam semua GCC nampaknya tertumpu pada menjadikan hidup lebih mudah kerana sambungan dan tweak yang boleh dilakukan untuk mendapatkan hasil yang diinginkan.

Ringkasan

Terdapat masalah dengan keserasian salib C dan C ++ compiler libraries.

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

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

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

Kedua-dua CC dan GCC dalam ciri-ciri bahasa adalah besar dalam hubungannya dengan piawaian semasa.