GCC ve CC arasındaki fark Derleyici

Anonim

GCC vs CC Derleyici

CC, UNIX Derleyici Komutanlığına verilen addır. İşletim sisteminiz için varsayılan derleyici komutu olarak kullanılır ve aynı komutla yürütülebilir. GCC, diğer taraftan, GNU Derleyici işletim sistemidir. GNU ve Linux üzerinde çalışan sistemlerde, CC'nin bir bağlantı olduğunu bulmak için ortaktır, böylece komut dosyalarının her iki derleyici de birbirinin yerine kullanılabilir. GNU derleyici koleksiyonunu ve CC derleyicisini kullanırken çeşitli farklar gözlemlenmiştir. Bu farklılıklar genel olarak iki ana gruba ayrılabilir. Bunlardan biri daha belirgindir, diğer grup daha kapsamlıdır.

Farklar

İki derleme ve C ++ derleyicileri arasındaki temel fark. C ++ derleyicileri C ++ programlarını kabul eder ancak C programlarını keyfi olarak derleme yapmazlar. Birçok C programı geçerli C ++ programı olmadığında bile C ++ tarafından iyi anlaşılabilir bir alt grupta bir C dil kodu yazmanın mümkün olduğu gösterilmiş olmasına rağmen bu genellikle doğrudur. Öte yandan, C derleyicileri C programlarını kabul eder, ancak içinde çalışan C ++ programlarının çoğunu reddederler. Bu sorunun ortaya çıkmasının nedeni, çoğu C ++ programının C'de bulunmayan yapıları çalıştırmasıdır.

Bu program dilleri için mevcut kütüphaneler büyük ölçüde dile bağlıdır. C ++ programları C kütüphanelerinde performans gösterebilir, ancak bu platforma özgüdür. C programları, C ++ kütüphanelerini kullanamaz; bu nedenle C ++, C'den daha büyük bir kütüphane setine sahip olma eğilimindedir.

Solaris'te derleyici komutu tarafından üretilen nesne kodu, g ++ tarafından üretilen kodla hiçbir şekilde uyumlu değildir; çünkü bunlar iki ayrı derleyicidir ve Sözleşmeler farklı olacaktır. Ana farklı noktalar istisna ele alma ve isimlerin parçalanmasıdır. Bununla birlikte, isim bulaşmasının, nesnelerin birbirine bağlanmasını önlemek için önem taşıdığına dikkat etmek önemlidir. Bu sonuç, CC'de derlenen bir kütüphanenin kullanılmasının tüm programın CC'de derlenmesini gerektirdiğine işaret etmektedir. Ayrıca, CC ile derlenmiş bir kitaplık ve g ++ ile başka bir kitaplık kullanmanız gerekiyorsa, istediğiniz işlevselliği sağlamak için kütüphanelerin yeniden derlemesi yapılmalıdır.

Oluşturulan assembler kalitesinde, GNU Derleyici Koleksiyonu olan GCC, bu görevde son derece iyidir. Ancak yerli derleyiciler bazen daha iyi çalışırlar. Intel derleyicilerin henüz GCC'de çoğaltılamayan kapsamlı optimizasyonlara sahip oldukları söylenebilir.

Standartlar dili ile derleyicinin desteklediği dil arasında küçük farklar olmasına rağmen, her iki derleyici de mevcut standartlara göre yenidir. Bu standartlar şunlardır (C ++ 98, C ++ 2003, C99).Daha eski C89 desteği her iki derleyicide de mevcuttur ve beklenen yanıtların anlaşılması, derleyicinin beklendiği gibi devreye girmesini sağlamak için çok önemlidir. Tüm GCC'de, arzulanan sonucu elde etmek için uzatmalar ve bükülmeler yaparak hayatı kolaylaştırmaya odaklanılmış görünüyor.

Özet

C ve C ++ derleyici kitaplıklarının çapraz uyumluluğu konusunda bir sorun var.

C ++ programları C kütüphanelerinde performans gösterebilir ancak bu platforma özgüdür.

CC'de oluşturulan bir kütüphaneyi kullanmak için bütün programın KKM yerine KK ile derlenmesi gerekiyor.

CC ve g ++ ile derlenmiş bir kitaplığınız varsa, kitaplıklarından biri yeniden derlenmelidir.

GCC, kalite meclisleri yaratmada harika bir iş çıkarıyor.

Hem CC hem de GCC'nin dil özelliklerinde mevcut standartlarla ilişkili olarak harika.