preguntar acerca de c
6
réponses
Gdb: liste de toutes les régions de mémoire mappées pour un processus écrasé
J'ai un vidage de noyau complet d'un processus mort sur une machine Linux x86 (noyau 2.6.35-22 si cela compte), que j'essaie de déboguer dans GDB.
Y a-t-il une commande GDB que je peux utiliser qui signifie "Montrez-moi une liste de toutes les régi …
demandé sur
1970-01-01 00:33:31
4
réponses
L’instruction ‘ if ‘ est-elle redondante avant les opérations modulo et avant assign?
Considérons le code suivant:
unsigned idx;
//.. some work with idx
if( idx >= idx_max )
idx %= idx_max;
Pourrait être simplifié à seulement la deuxième ligne:
idx %= idx_max;
Et atteindra le même résultat.
Plusieurs fois, j'ai renc …
demandé sur
1970-01-01 00:33:37
4
réponses
Pourquoi *p++ est-il différent de * p + = 1?
Considérez:
void foo1(char **p) { *p++; }
void foo2(char **p) { *p += 1; }
Et
char *s = "abcd";
char *a = s;
foo1(&a);
printf("%s", a); //abcd
, Mais si j'utilise foo2() au lieu de:
char *a = s;
foo2(&a);
printf("%s", a); //bcd
…
demandé sur
1970-01-01 00:33:32
4
réponses
Fonctions anonymes utilisant des expressions D’instruction GCC
Cette question n'est pas très spécifique; c'est vraiment pour mon propre enrichissement en C et j'espère que d'autres pourront La trouver utile aussi.
Avertissement: je sais que beaucoup auront l'impulsion de répondre avec "si vous essayez de faire …
demandé sur
1970-01-01 00:33:32
4
réponses
Symbole indéfini GXX personnalité V0 sur le lien
J'ai obtenu ce symbole indéfini avec cette ligne de commande:
$ gcc test.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
etc...
Test.cpp est simple et devrait bien construire. Quel est le problème? ... …
demandé sur
1970-01-01 00:33:28
17
réponses
Manipulation de Bitfield en C
Le problème classique de tester et de définir des bits individuels dans un entier en C est peut-être l'une des compétences de programmation de niveau intermédiaire les plus courantes. Vous définissez et testez avec des masques de bits simples tels qu …
demandé sur
1970-01-01 00:33:29
6
réponses
Comment exécuter un script shell à partir de C sous Linux?
Comment puis-je exécuter un script shell à partir de C sous Linux? ... …
demandé sur
1970-01-01 00:33:30
5
réponses
C-le spécificateur de format %x
J'ai une petite question. Je sais que le spécificateur de format % x peut être utilisé pour lire les valeurs de la pile dans une attaque de chaîne de format.
J'ai trouvé le code suivant:
%08x%08x%08x%08x
Que signifie le 08? C'est quoi exactemen …
demandé sur
1970-01-01 00:33:33
2
réponses
Pthread et conditions d’attente
J'apprends les conditions de pthread et d'attente. Pour autant que je sache, un fil d'attente typique est comme ceci:
pthread_mutex_lock(&m);
while(!condition)
pthread_cond_wait(&cond, &m);
// Thread stuff here
pthread_mutex_unlock …
demandé sur
1970-01-01 00:33:29
2
réponses
Comment malloc travailler dans un environnement multithread?
Est-ce que le malloc typique (pour la plate-forme X86-64 et le système D'exploitation Linux) verrouille naïvement un mutex au début et le libère une fois terminé, ou verrouille-t-il un mutex d'une manière plus intelligente à un niveau plus fin, de so …
demandé sur
1970-01-01 00:33:32