«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
Linux'ta zamanı ölçün - saat vs getrusage, clock_gettime, gettimeofday ve timespec_get?
Zamanlama fonksiyonları arasında, time, clock getrusage, clock_gettime, gettimeofdayve timespec_get, onlar nasıl uygulandığını açıkça anlamak istiyorum ve hangi durumlarda bunları kullanmak zorunda bilmek için onların dönüş değerleri nelerdir. Öncelikle, duvar saati değerlerini döndüren işlevleri, süreç veya iş parçacığı değerlerini döndüren işlevlerle karşılaştırmalıyız . kendisine geçirilen parametreye göre duvar gettimeofdaysaati değerini clock_gettimedöndürür, …
149 c  linux  time  linux-kernel 

5
C'de bir yapı diğerine atayın
Bir yapının bir örneğini diğerine atayabilir misiniz, örneğin: struct Test t1; struct Test t2; t2 = t1; Basit yapılar için işe yaradığını gördüm, ancak karmaşık yapılar için çalışıyor mu? Derleyici, veri öğelerini türlerine bağlı olarak nasıl kopyalayacağını, yani bir intdizeyi ve dizeyi ayırt etmeyi nasıl biliyor ?
149 c  struct 


5
Bu kod neden arabellek taşması saldırılarına karşı savunmasız?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Bu kod bir arabellek taşması saldırısına karşı savunmasız ve ben nedenini anlamaya çalışıyorum. Bunun yerine bir lenilan edilmesi ile ilgili olduğunu düşünüyorum , ama gerçekten emin değilim.shortint Herhangi …



13
Günlük makineler nasıl programlanır?
Günlük makineler (aletler, dijital saatler, vb. Kadar bilgisayarlar ve mobil cihazlar değil) nasıl programlanır? Bir Coca-Cola satış makinesinin programlamasına ne tür bir kod girilir? Kahve makinem önceden programlanmış bir zamanı nasıl kabul eder ve saatler sonra, o saat geldiğinde bir fincan kahve pişirmeye başlar? Bu tür makinelerin içinde işletim sistemleri …

2
Scanf ile bir dizeyi okumak
Bir şey hakkında biraz kafam karıştı. Bir C dizgisini okumanın doğru yolunun scanf()şu satırlar boyunca gittiği izlenimindeydim (olası arabellek taşmasına aldırma, bu sadece basit bir örnek) char string[256]; scanf( "%s" , string ); Ancak, aşağıdakiler de işe yarıyor gibi görünüyor, scanf( "%s" , &string ); Bu benim derleyicim mi (gcc), …
148 c  scanf 

6
Önce veya sonra const?
Başlamak için muhtemelen constbir nesnenin verilerini veya değiştirilemeyen bir işaretçiyi veya her ikisini birden yapmak için kullanılabileceğini biliyorsunuzdur . const Object* obj; // can't change data Object* const obj; // can't change pointer const Object* const obj; // can't change data or pointer Ancak sözdizimini de kullanabilirsiniz: Object const *obj; …
146 c++  c  syntax  const 

4
İos_base :: sync_with_stdio (false) 'un önemi; cin.tie (NULL);
Dahil etmenin önemi nedir ios_base::sync_with_stdio(false); cin.tie(NULL); C ++ programlarında Testlerimde, yürütme süresini hızlandırıyor, ancak bunu ekleyerek endişelenmem gereken bir test durumu var mı? 2 ifadenin her zaman birlikte olması gerekir mi yoksa ilki yeterli cin.tie(NULL)midir , yani yok sayılıyor mu? Ayrıca, değeri olarak ayarlanmışsa eşzamanlı C ve C ++ komutlarının …
146 c++  c 


9
Visual Studio hata ayıklayıcısında dinamik olarak ayrılmış bir dizi nasıl görüntülenir?
Statik olarak ayrılmış bir diziniz varsa, Visual Studio hata ayıklayıcısı tüm dizi öğelerini kolayca görüntüleyebilir. Ancak, dinamik olarak ayrılmış ve bir işaretçi ile işaretlenmiş bir diziniz varsa, diziyi genişletmek için + işaretini tıklattığınızda yalnızca ilk öğesini görüntüler. Hata ayıklayıcıyı anlatmanın kolay bir yolu var mı, bu verileri Foo ve X …

4
Neden pthread_cond_wait sahte uyandırma var?
Kılavuz sayfasını alıntılamak için: Koşul değişkenlerini kullanırken, her koşulla ilişkili paylaşılan değişkenleri içeren her zaman bir Boole yüklemi, iş parçacığının devam etmesi durumunda doğru olur. Pthread_cond_timedwait () veya pthread_cond_wait () işlevlerinden sahte uyanmalar oluşabilir. Pthread_cond_timedwait () veya pthread_cond_wait () 'den dönüş bu yüklemin değeri hakkında hiçbir şey ifade etmediğinden, yüklem …
145 c  pthreads 


3
C / C ++ ön işlemcisinde kendi satırındaki tek bir pound / karma işaretinin (#) amacı nedir?
Boost kitaplıklarının kaynak koduna bakıyordum ve genellikle bunlara herhangi bir önişlemci yönergesi eklenmemiş tek pound işaretlerinin olduğunu fark ettim. GCC önişlemci kılavuzunu ve teknik özellik kılavuzunu okudum ve bu konuda hiçbir şey bulamıyorum. (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) # (5) #if defined(BOOST_HAS_PRAGMA_ONCE) (6) # pragma …
145 c++  c  boost  c-preprocessor 

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.