«c» etiketlenmiş sorular

C, sistem programlama (OS ve gömülü), kütüphaneler, oyunlar ve çapraz platform için kullanılan genel amaçlı bir programlama dilidir. Bu etiket, ISO 9899 standardında tanımlandığı gibi C dili ile ilgili genel sorularla kullanılmalıdır (aksi belirtilmedikçe en son sürüm 9899: 2018 - c89, c99, c11 vb. İle sürüme özgü istekleri de etiketleyin). C, C ++ 'dan farklıdır ve rasyonel bir nedenden yoksun C ++ etiketi ile birleştirilmemelidir.

3
Clang'ı tespit etmek için önceden tanımlanmış hangi makroyu kullanabilirim?
Kaynak kodumu derlemek için kullanılan derleyiciyi bulmaya çalışıyorum. MSVC veya GCC'yi kontrol etmek için önceden tanımlanmış makroları kolayca bulabilirim ( örneğin bkz. Http://predef.sourceforge.net/ ), ancak clang'ı kontrol edecek herhangi bir makro bulamıyorum. Birisi clang'ın __CLANG__şu anda kodumu neyin derlediğini bilmek için olduğu gibi bir makro tanımlayıp tanımlamadığını biliyor mu?


8
C = ++ (a + b) neden derleme hatası veriyor?
Araştırdıktan sonra, artırma operatörünün işlenenin değiştirilebilir bir veri nesnesine sahip olmasını gerektirdiğini okudum: https://en.wikipedia.org/wiki/Increment_and_decrement_operators . Bundan derleme hatası verdiğini tahmin ediyorum çünkü (a+b)geçici bir tamsayıdır ve bu yüzden değiştirilebilir değildir. Bu anlayış doğru mu? İlk defa bir problemi araştırmaya çalışıyordum, bu yüzden aramam gereken bir şey varsa lütfen tavsiye edin.
111 c  increment 

20
Eski bir masaüstü bilgisayarda nasıl küçük bir işletim sistemi kurabilirim? [kapalı]
Kapalı . Bu soruya daha çok odaklanılması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Soruyu yalnızca bu gönderiyi düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . Bu soruyu geliştirin Bir işletim sistemi yazmanın dayanılmaz derecede karmaşık olduğunu bildiğim için bu …

8
Ortak veri yapılarına sahip herhangi bir açık kaynak C kitaplığı var mı? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımız için uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, argümanlar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …
111 c  data-structures 

13
C için tercüman var mı? [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 2 yıl önce kapalı . Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır ancak tarihsel önemi vardır. Şu anda …

8
"Struct hack" teknik olarak tanımlanmamış bir davranış mı?
Sorduğum şey, iyi bilinen "bir yapının son üyesinin değişken uzunluklu" numarasıdır. Şöyle bir şey oluyor: struct T { int len; char s[1]; }; struct T *p = malloc(sizeof(struct T) + 100); p->len = 100; strcpy(p->s, "hello world"); Yapının belleğe yerleştirilme şekli nedeniyle, yapıyı gerekenden daha büyük bir bloğun üzerine yerleştirebilir …


11
GCC ve ld ile kullanılmayan C / C ++ sembolleri nasıl kaldırılır?
Yürütülebilir dosyamın boyutunu ciddi şekilde optimize etmem gerekiyor ( ARMgeliştirme) ve mevcut yapı şemamda ( gcc+ ld) kullanılmayan sembollerin sıyrılmadığını fark ettim . arm-strip --strip-unneededSonuçta ortaya çıkan çalıştırılabilir dosyaların / kitaplıkların kullanımı, çalıştırılabilir dosyanın çıktı boyutunu değiştirmez (neden olduğuna dair hiçbir fikrim yok, belki de yapamaz) . Kullanılmayan sembollerin ortaya …
111 c++  c  gcc  ld  strip 

11
C de neden "a"! = "A"?
void main() { if("a" == "a") printf("Yes, equal"); else printf("No, not equal"); } Çıktı neden No, not equal?
110 c  string 



3
Neden sadece yorumların değiştiği iki program ikili dosyası gcc ile tam olarak eşleşmiyor?
İki C programı oluşturdum Program 1 int main() { } Program 2 int main() { //Some Harmless comments } AFAIK, derleme sırasında, derleyici (gcc) yorumları ve gereksiz beyaz alanları görmezden gelmeli ve bu nedenle çıktı benzer olmalıdır. Ama çıktı ikili dosyalarının md5 toplamlarını kontrol ettiğimde, eşleşmiyorlar. Ayrıca optimizasyonu ile derleme …


10
C / C ++ satır numarası
Hata ayıklama amacıyla, C / C ++ derleyicilerinde satır numarasını alabilir miyim ? (belirli derleyiciler için standart yol veya özel yollar) Örneğin if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.