Domande taggate «c»

C è un linguaggio di programmazione generico utilizzato per la programmazione di sistemi (OS e embedded), librerie, giochi e multipiattaforma. Questo tag deve essere utilizzato con domande generali relative al linguaggio C, come definito nella norma ISO 9899 (l'ultima versione, 9899: 2018, se non diversamente specificato - anche tag richieste specifiche della versione con c89, c99, c11, ecc.). C è distinto da C ++ e non dovrebbe essere combinato con il tag C ++ in assenza di una ragione razionale.





1
Un valore char impostato su CHAR_MAX è garantito per essere impostato su CHAR_MIN?
Il mio codice: #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); } Produzione: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Vediamo che quando incrementiamo una charvariabile impostata su CHAR_MAX, si avvolge intorno a CHAR_MIN. Questo comportamento è garantito? O …


1
C11 Atomic Acquire / Release e mancanza di carico / coerenza x86_64?
Sto lottando con la Sezione 5.1.2.4 della norma C11, in particolare la semantica di Release / Acquire. Lo noto https://preshing.com/20120913/acquire-and-release-semantics/ (tra gli altri) afferma che: ... La semantica di rilascio impedisce il riordino della memoria del write-release con qualsiasi operazione di lettura o scrittura che la precede nell'ordine del programma. …

2
Il prefetcher L2 HW è davvero utile?
Sono su Whiskey Lake i7-8565U e analizzo i contatori di perf e il tempo per copiare 512 KiB di dati (due volte più della dimensione della cache L2) e ho dovuto affrontare alcuni malintesi sul lavoro del prefetcher L2 HW. Nel manuale Intel MSR Vol.4 c'è MSR 0x1A4il bit 0 …

4
Perché restituire NULL da main ()?
A volte vedo programmatori che usano NULLcome valore di ritorno main()nei programmi C e C ++, ad esempio qualcosa del genere: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Quando compilo questo codice con gcc ricevo l'avvertimento di: avvertenza: return rende intero dal puntatore senza cast [-Wint-conversion] che è …
10 c++  c  null  return  return-value 


5
Collegamento dinamico - Linux vs. finestre
In Windows, quando compilo il codice C / C ++ in un progetto DLL in MSVC, ottengo 2 file: MyDll.dll MyDll.lib dove per quanto ho capito MyDll.libcontiene una sorta di tabella di puntatori che indica le posizioni delle funzioni nella dll. Quando si usa questa dll, diciamo in un file …





Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.