«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.

2
Neden "2i" ifadesi; Derleyici hatasına neden OLMAZ?
Bunun yerine 2*idikkatsizce yazdım 2i: int foo(int i) { 2i; return 2i; } Derleyicinin hatayı yakalamasını bekliyordum. Ama olmadı. Öyleyse 2iC'de geçerli bir ifade var mı? Eğer öyleyse ne işe yarar? Şaşkın! Gcc 5.3.0 sürümünü kullanarak derledim ve işte montaj çıktısı: .file "strange.c" .text .globl foo .type foo, @function foo: …
82 c  syntax 


6
C'de paylaşılan genel değişkenler
C'de paylaşılan global değişkenleri nasıl oluşturabilirim? Bunu bir başlık dosyasına koyarsam, bağlayıcı değişkenlerin önceden tanımlanmış olduğundan şikayet eder. Değişkeni C dosyalarımdan birinde bildirmenin ve externonu kullanmak isteyen diğer tüm C dosyalarının üstüne manuel olarak s yerleştirmenin tek yolu bu mu? Bu ideal değil.



10
C engellemesiz klavye girişi
C (Linux'ta) kullanıcı bir tuşa basana kadar döngü yapan, ancak her döngüye devam etmek için bir tuşa basılmasını gerektirmeyen bir program yazmaya çalışıyorum. Bunu yapmanın kolay bir yolu var mı? Sanırım onunla yapabilirim select()ama bu çok iş gibi görünüyor. Alternatif olarak, engellemeyen io yerine program kapanmadan önce temizleme yapmak için …


6
Saf işlevin faydaları
Bugün saf işlev hakkında okuyordum, kullanımıyla karıştırıldım: Aynı girdi kümesi için aynı değer kümesini döndüren ve gözlemlenebilir herhangi bir yan etkisi olmayan bir işlevin saf olduğu söylenir. örneğin strlen()saf bir işlev iken rand()saf olmayan bir işlevdir . __attribute__ ((pure)) int fun(int i) { return i*i; } int main() { int …
82 c  pure-virtual 

2
Android AudioRecord başka bir akışı MIC ses kaynağına zorlar
Güncelleme 3: Başka bir geliştiriciyle ortaklık kurdum ve bunu büyük miktarda parayla yapabilecek birini bulduk. Bize bir test apk gönderdiler ve çalışıyor gibi görünüyor. Biz devam edip kaynağı satın alacağız. Umarım dolandırılmayız. Öğrendiğimde güncelleyeceğim Güncelleme 2: Hala üzerinde çalışıyoruz. Daha sancılı günlerden sonra artık fantezi bir şey olmadığını düşünüyorum ama …

30
Gömülü geliştirme için C ++ yerine C kullanmak için herhangi bir neden var mı?
Soru C ++ ve C89 donanımımda iki derleyicim var Sınıflarla ancak polimorfizm olmadan (vtables'dan kaçınmak için) C ++ kullanmayı düşünüyorum. C ++ kullanmak istememin ana nedenleri: Makro tanımları yerine "satır içi" işlevleri kullanmayı tercih ederim. Önekler kodu karıştırdığından ad alanlarını kullanmak istiyorum. C ++ 'ın temel olarak şablonlar ve ayrıntılı …
82 c++  c  embedded  c89 

5
"İnt * nums = {5, 2, 1, 4}" bölümleme hatasına neden olur
int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); segfault'a neden olurken int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); değil. Şimdi: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); baskılar 5. Buna dayanarak, dizi başlatma gösteriminin, {}, bu veriyi, soldaki değişkene körü körüne yüklediğini tahmin ettim. İnt …
81 c  arrays  pointers 

6
Enum sabitleri C ve C ++ 'da farklı davranıyor
Bunu neden yapar: #include <stdio.h> #include <limits.h> #include <inttypes.h> int main() { enum en_e { en_e_foo, en_e_bar = UINT64_MAX, }; enum en_e e = en_e_foo; printf("%zu\n", sizeof en_e_foo); printf("%zu\n", sizeof en_e_bar); printf("%zu\n", sizeof e); } 4 8 8C ve 8 8 8C ++ olarak yazdırın (4 baytlık bir platformda)? UINT64_MAXAtamanın …
81 c++  c 

4
Yapılar hakkında özel olan nedir?
C'de bir işlevden bir dizi döndüremeyeceğimizi, bir diziye göstericiyi döndüremeyeceğimizi biliyorum. Ancak structs, diziler içerse bile, onları fonksiyonlar tarafından döndürülebilir kılan özel şeyin ne olduğunu bilmek istiyorum . Neden structsarma aşağıdaki program geçerli kılan? #include <stdio.h> struct data { char buf[256]; }; struct data Foo(const char *buf); int main(void) { …

4
POSIX konuları ve sinyalleri
POSIX iş parçacığı ve POSIX sinyallerinin nasıl etkileşim kurduğunun karmaşıklığını anlamaya çalışıyorum. Özellikle şu konularla ilgileniyorum: Bir sinyalin hangi iş parçacığına iletileceğini kontrol etmenin en iyi yolu nedir (ilk etapta ölümcül olmadığını varsayarsak)? Başka bir iş parçacığına (aslında meşgul olabilir) sinyalin geldiğini söylemenin en iyi yolu nedir? (Bir sinyal işleyiciden …
81 c  pthreads  signals 

8
Ld'yi altınla değiştirmek - herhangi bir deneyim?
goldBunun yerine kullanmaya çalışan oldu ldmu? gold daha hızlı olacağını vaat ediyorld , bu nedenle büyük C ++ uygulamaları için test döngülerini hızlandırmaya yardımcı olabilir, ancak ld yerine drop-in yerine kullanılabilir mi? Can gcc/ g++doğrudan çağrı gold.? Bilinen herhangi bir hata veya sorun var mı? goldBir süredir GNU binutillerinin bir …

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.