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


13
İşaretçi bildirimlerinde yıldız işaretinin yerleştirilmesi
Son zamanlarda sonunda C / C ++ öğrenmem gerektiğine karar verdim ve işaretçiler hakkında gerçekten anlamadığım bir şey var ya da daha doğrusu onların tanımları. Şu örneklere ne dersiniz: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; Şimdi, anladığım kadarıyla, ilk üç durumun hepsi …
96 c++  c  pointers  declaration 


12
C'den Linux'ta PID ile bir işlemin CPU kullanımı nasıl hesaplanır?
Linux'ta belirli bir işlem kimliği için CPU kullanımı yüzdesini programlı olarak [C'de] hesaplamak istiyorum. Belirli bir işlem için gerçek zamanlı CPU kullanımı yüzdesini nasıl elde edebiliriz? Daha da netleştirmek için: Sağlanan işlem kimliği veya işlem için CPU kullanımını belirleyebilmeliyim. Sürecin alt süreç olması gerekmez. Çözümü 'C' dilinde istiyorum.
95 c  linux  cpu-usage 

13
Bir önişlemci makrosunda "sizeof" u nasıl kullanabilirim?
sizeofÖnişlemci makrosunda a kullanmanın herhangi bir yolu var mı ? Örneğin, yıllar içinde aşağıdakilere benzer bir şey yapmak istediğim tonlarca durum oldu: #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif Burada tam olarak kontrol ettiğim şey tamamen uydurma - önemli olan nokta şu ki, yanlış hizalayabilecek …
95 c  gcc 

15
C hata yönetimi için geçerli goto kullanımı?
Bu soru aslında bir süre önce programlama.reddit.com'daki ilginç bir tartışmanın sonucudur . Temel olarak aşağıdaki koda indirgenir: int foo(int bar) { int return_value = 0; if (!do_something( bar )) { goto error_1; } if (!init_stuff( bar )) { goto error_2; } if (!prepare_stuff( bar )) { goto error_3; } return_value …


7
Her saat bir çalıştırılabilir dosyayı çalıştırmak için bir cron işi nasıl kurulur?
Her saatte bir gcc kullanarak derlenen bir yürütülebilir dosyayı çalıştıran bir cron işi kurmam gerekiyor. Root olarak giriş yaptım ve yazdım crontab -e Sonra aşağıdakini girdim ve dosyayı kaydettim. 0 * * * * /path_to_executable Ancak, cron işi çalışmıyor. /...path_to_executableYazdığımda bir segmentasyon hatası aldığımı görüyorum . Yürütülebilir dosyayı yalnızca bulunduğu …
95 c  linux  gcc  cron  crontab 

2
Derleme dosyaları projeye dahil edildiğinde mmap'den beklenmeyen yürütme izni
Bununla kafamı duvara vuruyorum. Projemde mmap, mapping ( /proc/self/maps) ile bellek ayırdığımda , yalnızca okunabilir bellek istememe rağmen okunabilir ve yürütülebilir bir bölge olduğunu gösteriyor . Strace (iyi görünüyor) ve diğer hata ayıklama içine baktıktan sonra, bu garip sorunu önlemek gibi görünüyor tek şey tespit edebildi: derleme dosyaları projeden kaldırma …
94 c  linux  assembly  mmap 

13
C # vs C - Büyük performans farkı
C ve C #'daki benzer kodlar arasında büyük performans farklılıkları buluyorum. C kodu: #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC); …
94 c#  c  performance 

9
Bu 1988 C kodunun nesi var?
Bu kod parçasını "The C Programming Language" (K & R) kitabından derlemeye çalışıyorum. UNIX programının basit bir sürümüdür wc: #include <stdio.h> #define IN 1; /* inside a word */ #define OUT 0; /* outside a word */ /* count lines, words and characters in input */ main() { int c, …
94 c 

10
C ++ sınıfı bir bellek yapısında nasıl "boşluk bırakıcı" oluşturabilirim?
Sorun Bir de düşük düzeyde çıplak metal gömülü bağlamda, bir erişim, bellek konumu için kullanıcı yasaklamış, C ++ yapı içinde ve herhangi bir isim vermeden, bellek boş bir alan yaratmak istiyoruz. Şu anda, bunu uint32_t :96;üç sözcüğün yerini alabilecek çirkin bir bitfield koyarak başardım , ancak bu oldukça meşru olan …

6
Malloc'u C'de ne zaman kullanmalıyım ve ne zaman kullanmam?
Malloc () 'un nasıl çalıştığını anlıyorum. Sorum şu, şöyle şeyler göreceğim: #define A_MEGABYTE (1024 * 1024) char *some_memory; size_t size_to_allocate = A_MEGABYTE; some_memory = (char *)malloc(size_to_allocate); sprintf(some_memory, "Hello World"); printf("%s\n", some_memory); free(some_memory); Kısalık uğruna hata kontrolünü atladım. Sorum şu, bellekteki bazı statik depolamaya bir işaretçi başlatarak yukarıdakileri yapamaz mısınız? belki: …

3
Gelecekteki paylaşılan kitaplıklarda bir komut bayrağıyla kesme noktaları nasıl ayarlanır
--commandBayrağı kullanarak bir gdb oturumunu otomatikleştirmeye çalışıyorum . Paylaşılan bir kitaplıkta (DLL'nin Unix eşdeğeri) bir işlev için bir kesme noktası ayarlamaya çalışıyorum. Cmds.gdb'm şuna benzer: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Ancak şunu alıyorum: shlomi: ~ / progs / bugs-external / kde / font kırma $ gdb --command = cmds.gdb …
94 c++  c  linux  unix  gdb 

7
C'de, bir metin dosyasını nasıl okuyup tüm dizeleri nasıl yazdırmalıyım
Adlı bir metin dosyam var test.txt Bu dosyayı okuyabilen ve içeriği konsola yazdırabilen bir C programı yazmak istiyorum (dosyanın yalnızca ASCII metni içerdiğini varsayın). Dize değişkenimin boyutunu nasıl elde edeceğimi bilmiyorum. Bunun gibi: char str[999]; FILE * file; file = fopen( "test.txt" , "r"); if (file) { while (fscanf(file, "%s", …
94 c  file  text-files 

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.