Perbezaan antara GCC dan CC Compiler Perbezaan Antara

Anonim

GCC vs CC Compiler

CC adalah nama yang diberikan kepada UNIX Compiler Command. Ia digunakan sebagai perintah pengurip lalai untuk sistem pengendalian 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 koleksi pengomputer GNU dan pengkompil CC. Perbezaan ini secara amnya boleh dikumpulkan ke dalam dua kumpulan utama. Salah satu daripada ini 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. Alasan bahawa masalah ini timbul adalah bahawa kebanyakan program C + + menjalankan pembinaan yang tidak terdapat dalam C.

Perpustakaan yang tersedia untuk 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 pustaka yang lebih besar yang boleh didapati daripada C.

Pada Solaris, kod objek yang dihasilkan oleh perintah pengompil tidak sesuai dengan kod yang dihasilkan oleh g ++ kerana ini adalah dua penyusun berasingan dan mereka Konvensyen akan berbeza. Mata yang berbeza utama adalah pengendalian pengecualian dan penglihatan 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 dikumpulkan dengan CC dan yang lain dengan g ++, pengumpulan semula perpustakaan mesti dilakukan untuk memastikan fungsi yang diingini.

Dalam kualiti perhimpunan yang dihasilkan, GCC, yang merupakan Koleksi Pengkomputer GNU, sangat baik dalam tugas ini. Walau bagaimanapun, penyusun asli berfungsi lebih baik. Pengkomputer 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 standard dan bahasa yang menyokong pengompil. Piawaian ini adalah (C ++ 98, C ++ 2003, C99).Sokongan C89 yang lebih tua boleh didapati dalam kedua-dua penyusun dan pemahaman tentang respons yang dijangkakan adalah penting untuk memastikan pengomputer itu berjalan seperti yang diharapkan. Semua dalam semua GCC nampaknya tertumpu pada menjadikan kehidupan lebih mudah disebabkan sambungan dan tweak yang boleh dilakukan untuk mendapatkan hasil yang diinginkan.

Ringkasan

Terdapat masalah dengan keserasian silang C dan C ++ compiler libraries. Program

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

Untuk menggunakan perpustakaan yang terdiri dalam CC memerlukan keseluruhan program untuk dikompilasi dengan CC dan bukan GCC.

Jika anda mempunyai perpustakaan yang disusun dalam CC dan g ++, salah satu perpustakaan mesti dikompilasi semula.

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

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