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

1
Kesin C Kitap Kılavuzu ve Listesi
Bu sorunun cevapları bir toplum çabasıdır . Bu yayını iyileştirmek için mevcut yanıtları düzenleyin. Şu anda yeni yanıtları veya etkileşimleri kabul etmiyor. Bu soru, topluluk tarafından tutulan kaliteli kitaplarınc çeşitli dil seviyelerini hedefleyen programlama dili. C, çevrimiçi öğreticileri okuyarak hareket halindeyken alınması zor olan karmaşık bir programlama dilidir. Kapsamlı bir …
400 c 

25
Neden alloca () kullanımı iyi uygulama olarak kabul edilmiyor?
alloca() bellekte olduğu gibi yığın yerine bellek ayırır malloc() . Böylece, rutinden döndüğümde bellek boşalır. Yani, aslında bu, dinamik olarak ayrılmış belleği boşaltma sorunumu çözdü. Ayrılan belleğin boşaltılması malloc()büyük bir baş ağrısıdır ve bir şekilde kaçırılırsa her türlü bellek sorununa yol açar. alloca()Yukarıdaki özelliklere rağmen neden cesaretiniz kırılıyor?
400 c  stack  malloc  allocation  alloca 

16
Statik bağlama ve dinamik bağlama
Dinamik bağlantı üzerinden statik bağlantı veya belirli durumlarda tam tersini seçmek için zorlayıcı performans nedenleri var mı? Aşağıdakileri duydum veya okudum, ancak konunun doğruluğu için kefil olacak kadar bilmiyorum. 1) Statik bağlama ile dinamik bağlama arasındaki çalışma zamanı performansındaki fark genellikle önemsizdir. 2) (1), program hotpath'lerini optimize etmek için profil …

12
Geçerli C veya C ++ standart belgelerini nerede bulabilirim?
Bu sorunun cevapları bir toplum çabasıdır . Bu yayını iyileştirmek için mevcut yanıtları düzenleyin. Şu anda yeni yanıtları veya etkileşimleri kabul etmiyor. Ön sipariş verildi Stack Overflow daha fazla : C ++? Birçok soru için cevap "standart" içinde görünüyor. Ancak bunu nerede buluyoruz? Tercihen çevrimiçi. Google, programlama forumları hakkındaki tartışmalar …
394 c++  c  standards  c++-faq 

11
Kayan nokta değerlerini karşılaştırmak ne kadar tehlikelidir?
Çözünürlük bağımsız koordinat sistemi nedeniyle UIKitkullanımlarını biliyorum CGFloat. Ancak her zaman örneğin olmadığını kontrol etmek istiyorum frame.origin.xedilmektedir 0beni hasta hissettiren: if (theView.frame.origin.x == 0) { // do important operation } Is not CGFloatile karşılaştırırken yanlış pozitif karşı savunmasız ==, <=, >=, <, >? Bu bir kayan nokta ve kesin olmayan …

6
Bir tam sayının bilinen değer kümeleriyle iki tam sayı (dahil) arasında olup olmadığını belirlemenin en hızlı yolu
x >= start && x <= endBir tamsayının iki tamsayı arasında olup olmadığını test etmenin C veya C ++ ' dan daha hızlı bir yolu var mı ? GÜNCELLEME : Özel platformum iOS. Bu, belirli bir karedeki pikselleri bir daireyle sınırlayan bir kutu bulanıklaştırma işlevinin bir parçasıdır. GÜNCELLEME : Kabul …
389 c++  c  performance  math 

10
Parametresiz bir işlev (gerçek işlev tanımına kıyasla) neden derleniyor?
Ben sadece neden derleme konusunda kafam karıştı birinin C kodu rastlamak. Anlamadığım iki nokta var. İlk olarak, işlev prototipinin gerçek işlev tanımına kıyasla hiçbir parametresi yoktur. İkinci olarak, işlev tanımındaki parametrenin bir türü yoktur. #include <stdio.h> int func(); int func(param) { return param; } int main() { int bla = …

11
Özgür ne kadar özgür olacağını nasıl bilebilir?
C programlamasında, istediğiniz argümanı serbestçe bir argüman olarak iletebilirsiniz, boşaltılan belleğin boyutunu nasıl bilebilir? Ne zaman bir işlev için bir işaretçi geçmek, ben de boyutu geçmek zorunda (yani 10 elemanların bir dizi 10 dizi boyutunu bilmek için bir parametre olarak 10 almak gerekir), ama ben boyutu geçmek zorunda değilsiniz serbest …
385 c  size  pointers  free 

9
Bu dört zorlu kodun arkasındaki konsept
Bu kod neden çıktıyı veriyor C++Sucks? Arkasındaki kavram nedir? #include <stdio.h> double m[] = {7709179928849219.0, 771}; int main() { m[1]--?m[0]*=2,main():printf((char*)m); } Burada test edin .
384 c  deobfuscation 





14
Linux'ta pthread_create'e tanımlanmamış referans
Aşağıdaki demoyu web'den https://computing.llnl.gov/tutorials/pthreads/ adresinden aldım. #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In main: creating …

7
Döngülerin sırası, bir 2D dizi üzerinden yineleme yaparken performansı neden etkiler?
Aşağıda, ive jdeğişkenlerini değiştirmem dışında neredeyse aynı olan iki program var . İkisi de farklı zaman aralıklarında koşarlar. Birisi bunun neden olduğunu açıklayabilir mi? Versiyon 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; i++) { for (j = …

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.