«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
IBM örnek kodu, yeniden girmeyen işlevler sistemimde çalışmıyor
Programlamaya yeniden giriş yapıyordum. IBM'in bu sitesinde (gerçekten iyi). Aşağıda kopyalanan bir kod oluşturdum. Bu web sitesi aşağı yuvarlanan ilk kod. Kod, bir "tehlikeli bağlamda" sürekli değişen iki değer yazdırarak, bir metin programının doğrusal olmayan gelişiminde (asenkroniklik) değişkene paylaşılan erişimi içeren sorunları göstermeye çalışır. #include <signal.h> #include <stdio.h> struct two_int …
11 c  gcc  signals  x86-64  data-race 



1
CHAR_MAX değerine göre bir char değerinin CHAR_MIN değerine çevrilmesi garanti ediliyor mu?
Kodum: #include <stdio.h> #include <limits.h> int main() { char c = CHAR_MAX; c += 1; printf("CHAR_MIN=%d CHAR_MAX=%d c=%d (%c)\n", CHAR_MIN, CHAR_MAX, c, c); } Çıktı: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Bir chardeğişken setini artırdığımızda, değişkenin CHAR_MAXetrafına sarıldığını görürüz CHAR_MIN. Bu davranış garanti ediliyor mu? Yoksa tanımlanmamış davranış mı yoksa uygulama tarafından …

3
Farklı derleyicilerde C ++ ve C arasındaki işaretsiz bitfield tamsayı ifadelerinin tutarsız kesilmesi
Düzenle 2 : Bir işlev daha önce bir C ++ kaynak dosyasında bulunan ancak bir C dosyasına kelimesi kelimesine taşındığında, yanlış sonuçlar döndürmeye başladığında garip bir test hatası ayıklama. Aşağıdaki MVE, sorunun GCC ile yeniden üretilmesine izin verir. Ancak, bir hevesle, örneği Clang ile (ve daha sonra VS ile) derlediğimde, …


1
C11 Atomic Acquire / Release ve x86_64 yük / mağaza tutarlılığı eksikliği?
C11 Standardının 5.1.2.4 Bölümü, özellikle de Serbest Bırakma / Edinme anlambilimi ile mücadele ediyorum. Şunu not ediyorum https://preshing.com/20120913/acquire-and-release-semantics/ (diğerleri arasında) olduğunu belirtmektedir: ... Sürüm semantiği, program sırasından önce gelen herhangi bir okuma veya yazma işlemi ile yazma sürümünün belleğin yeniden sıralanmasını önler. Yani, aşağıdakiler için: typedef struct test_struct { _Atomic(bool) …

4
Neden main () 'dan NULL döndürüyoruz?
Bazen C ve C ++ programlarında NULLdönüş değeri olarak kullanılan kodlayıcılar, main()örneğin böyle bir şey görüyorum : #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Bu kodu gcc ile derlediğimde şu uyarıyı alıyorum: uyarı: return, işaretçi olmadan tamsayı yapar [-Wint-conversion] Bu makuldür çünkü makro NULLgenişler (void*) 0ve ana dönüş …
10 c++  c  null  return  return-value 

2
L2 HW prefetcher gerçekten yardımcı mı?
Hattayım Viski Gölü i7-8565U ve (iki kez daha L2 önbellek boyutundan daha) veri 512 KiB kopyalamak için sayaçlar ve zaman perf analiz ve L2 HW Önceden çalışmaları ile ilgili olarak karşılaşılan bazı yanlış anlama. Olarak Intel Kılavuzu Vol.4 MSR MAB orada 0x1A4biraz 0 (devre dışı 1) L2 HW Önceden controlloing …

1
MATLAB, macOS Mojave'ye yükselttikten sonra artık MEX dosyalarını kaldırmıyor
MATLAB'de, clear mextüm MEX dosyalarını bellekten kaldırır (kilitlenmedikçe). MacOS'un önceki sürümlerinde, bir MEX dosyasını yeniden derleyebildim ve değiştirilmiş sürümü MATLAB'ı yeniden başlatmadan, sadece bir clear mexkomut vererek çalıştırabildim . Bu artık Mojave altında mümkün değil. Örneğin, şu önemsiz MEX dosyasını ( get_data_pointer.c) alın: #include "mex.h" void mexFunction( int nlhs, mxArray …

5
Dinamik bağlantı - Linux Vs. pencereler
Windows altında, MSVC'de bir DLL projesinde C / C ++ kodunu derlediğimde 2 dosya alıyorum: MyDll.dll MyDll.lib anladığım kadarıyla MyDll.libdll fonksiyonları yerleri gösteren işaretçiler tablosu bir tür içerir nerede . Bu dll kullanırken, örneğin bir exe dosyasında, MyDll.libbağlantı sırasında exe dosyasına gömülü böylece çalışma zamanında fonksiyonları nerede bulunur MyDll.dllve bunları …

4
Karakter dizileri dize olarak nasıl kullanılmalıdır?
C'deki dizelerin sadece karakter dizileri olduğunu anlıyorum. Bu yüzden aşağıdaki kodu denedim, ancak çöp çıktısı veya program çökmeleri gibi garip sonuçlar veriyor: #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } Bu neden çalışmıyor? Temiz bir şekilde derler gcc -std=c17 -pedantic-errors -Wall -Wextra. Not: Bu yazı, …



3
C'de bir dizenin tanımının özellikleri nelerdir?
Sınıflarımdan biri için bir ev ödevi sorusunu yanıtlamam gerekiyor. Özellikle, C'deki belirli dizilerin dize olarak kabul edilip edilmediğini söylemeliyim. Bu makaleye dayanarak ( https://www.geeksforgeeks.org/strings-in-c-2/ ) Dizelerin sonunda boş sonlandırıcılı bir dizi karakter olduğunu biliyorum. Benim ana hangup soruya benziyor bir dizi soran bir parçasıdır: char c1[] = { 'C', 'S', …

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.