GCC ve CC Derleyici arasındaki fark

GCC ve CC Derleyici

CC, UNIX Derleyici Komutuna verilen addır. İşletim sisteminiz için varsayılan derleyici komutu olarak kullanılır ve aynı komutla yürütülebilir. GCC ise GNU Derleyici işletim sistemidir. GNU ve Linux üzerinde çalışan sistemlerde, komut dosyalarının her iki derleyiciyi birbirinin yerine ve kolayca kullanabilmesi için CC'nin bir bağlantı olduğunu bulmak yaygındır. GNU derleyici koleksiyonunun ve CC derleyicinin kullanımı konusunda gözlemlenen çeşitli farklılıklar vardır. Bu farklılıklar genellikle iki ana grupta toplanabilir. Bunlardan biri daha spesifikken diğer grup daha genel.

farklılıklar

İkisi arasındaki temel fark C derleyicileri ve C ++ derleyicileri ile ilgilidir. C ++ derleyicileri C ++ programlarını kabul eder, ancak C'deki programları keyfi olarak derlemez. Birçok C programı geçerli C ++ programları olmasa bile, C ++ tarafından iyi anlaşılabilecek bir alt kümeye bir C dil kodu yazmanın mümkün olduğu gösterilmiştir, ancak bu genellikle doğrudur. Öte yandan, C derleyicileri C programlarını kabul eder, ancak içinde çalışan C ++ programlarının çoğunu reddeder. 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 çalışabilir, ancak bu platforma özgüdür. C programları ise C ++ kütüphanelerini kullanamazlar; bu nedenle C ++, C'den daha büyük bir kütüphane kümesine sahip olma eğilimindedir.

Solaris'te, derleyici komutu tarafından üretilen nesne kodu hiçbir şekilde g ++ tarafından üretilen kodla uyumlu değildir, çünkü bunlar iki ayrı derleyici olduğundan ve kuralları farklı olacaktır. Başlıca farklı noktalar istisna işleme ve isimlerin yönetilmesidir. Bununla birlikte, nesnelerin uyumlu bir şekilde birbirine bağlanmasını önlemek için isim işlemenin önemli olduğunu belirtmek önemlidir. Bu aslında CC'de derlenmiş bir kütüphanenin kullanımının tüm programın CC'de derlenmesini gerektirdiğini göstermektedir. Ayrıca, CC ile derlenmiş bir kitaplık ve g ++ ile başka bir kitaplık kullanmanız gerekiyorsa, istenen işlevselliği sağlamak için kitaplıkların yeniden derlenmesi gerekir..

Üretilen montajcı kalitesinde, GNU Derleyici Koleksiyonu olan GCC, bu görevde son derece iyidir. Ancak yerel derleyiciler zaman zaman daha iyi çalışır. Intel derleyicilerinin henüz GCC'de çoğaltılmamış kapsamlı optimizasyonlara sahip olduğu söylenebilir.

Her iki derleyici de, standart dil ile derleyicinin desteklediği dil arasında küçük farklılıklar olsa da, mevcut standartlarda yenidir. Bu standartlar (C ++ 98, C ++ 2003, C99) 'dur. Daha eski C89 desteği her iki derleyicide de mevcuttur ve derleyicinin beklendiği gibi kullanılmasını sağlamak için beklenen yanıtların anlaşılması çok önemlidir. Sonuç olarak GCC, istenen sonucu elde etmek için yapılabilecek uzantılar ve ayarlamalar nedeniyle hayatı kolaylaştırmaya odaklanmış gibi görünüyor.

özet

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

C ++ programları C kütüphanelerinde çalışabilir, ancak bu platforma özgüdür.

CC'de oluşturulmuş bir kütüphaneyi kullanmak için tüm programın GCC ile değil CC ile derlenmesi gerekir.
CC ve g ++ ile derlenmiş bir kütüphaneniz varsa, kütüphanelerden birinin yeniden derlenmesi gerekir.

GCC, kaliteli montajlar oluşturmak için harika bir iş çıkarıyor.

Dil özelliklerinde hem CC hem de GCC, mevcut standartlara göre harika.