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 …
c
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