Questions marquées «c»

C est un langage de programmation à usage général utilisé pour la programmation système (OS et embarqué), les bibliothèques, les jeux et les plateformes multiples. Cette balise doit être utilisée avec des questions générales concernant le langage C, tel que défini dans la norme ISO 9899 (la dernière version, 9899: 2018, sauf indication contraire - également balise les demandes spécifiques à la version avec c89, c99, c11, etc.). C est distinct de C ++ et il ne doit pas être combiné avec la balise C ++ en l'absence d'une raison rationnelle.






1
Une valeur char définie sur CHAR_MAX est-elle garantie de se terminer par CHAR_MIN?
Mon code: #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); } Production: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Nous voyons que lorsque nous incrémentons un charensemble de variables à CHAR_MAX, il s'enroule autour de CHAR_MIN. Ce comportement est-il …

3
Troncature incohérente des expressions entières de champ de bits non signées entre C ++ et C dans différents compilateurs
Modifier 2 : Je déboguais un échec de test étrange lorsqu'une fonction résidant précédemment dans un fichier source C ++ mais déplacée dans un fichier C textuellement, a commencé à renvoyer des résultats incorrects. Le MVE ci-dessous permet de reproduire le problème avec GCC. Cependant, quand j'ai, sur un coup …


1
C11 Atomic Acquire / Release et x86_64 manque de cohérence chargement / stockage?
Je me bats avec la section 5.1.2.4 de la norme C11, en particulier la sémantique de Release / Acquire. Je note que https://preshing.com/20120913/acquire-and-release-semantics/ (entre autres) déclare que: ... La sémantique de libération empêche la réorganisation de la mémoire de la libération en écriture avec toute opération de lecture ou d'écriture …


4
Pourquoi renvoyer NULL de main ()?
Je vois parfois des codeurs qui utilisent NULLcomme valeur de retour main()dans les programmes C et C ++, par exemple quelque chose comme ça: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Quand je compile ce `code avec gcc, je reçois l'avertissement de: avertissement: return rend entier à partir …
10 c++  c  null  return  return-value 

2
Le préfiltre L2 HW est-il vraiment utile?
Je suis sur Whisky Lake i7-8565U et les compteurs de et le temps nécessaire pour copier 512 Ko de données (deux fois plus que la taille du cache L2) et fait face à un malentendu concernant le travail du préfiltre L2 HW. Dans le manuel Intel vol.4 MSR, il y …


5
Liaison dynamique - Linux Vs. les fenêtres
Sous Windows, lorsque je compile du code C / C ++ dans un projet DLL dans MSVC, j'obtiens 2 fichiers: MyDll.dll MyDll.lib où, pour autant que je comprends, MyDll.libcontient une sorte de tableau de pointeurs indiquant les emplacements des fonctions dans la DLL. Lorsque vous utilisez cette DLL, par exemple …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.