Bonjour à tous :)
En lisant le code de vsftpd (http://vsftpd.beasts.org/(...) ), j'ai remarqué une idée qui me semble très intéressante pour disposer de chaînes de caractères/buffers plus "pratiques" à utiliser que les habituelles structures à base de { char *buffer; size_t size; }...
En gros, on stocke la chaîne de caractère dans une map anonyme, entre deux pages protégées avec mprotect(). On en profite pour stocker la taille de la chaine dans la première page mémoire, avant verrouillage.
(…)
Forum Programmation.c L'utf-8 et les coin²
Après quelques heures de codage mon site a vu le jour. Il n'est pas encore complet, mais dispose d'une pseudo-tribune, sous l'appellation alléchante de «ShoutBox», ne nécéssitant pas d'inscription pour gueuler dessus.
De plus cette magnifique interface permet d'utiliser n'importe quel caractère unicode (utf-8 powered, mysql 4.1, etc).
Le problème fut que le lendemain, on me demanda le support de wmcoincoin...
Après des recherches (et un mail sans réponse à la recherche d'une rfcc) j'ai fini par trouver une board (…)
De plus cette magnifique interface permet d'utiliser n'importe quel caractère unicode (utf-8 powered, mysql 4.1, etc).
Le problème fut que le lendemain, on me demanda le support de wmcoincoin...
Après des recherches (et un mail sans réponse à la recherche d'une rfcc) j'ai fini par trouver une board (…)
Forum Programmation.c parser de mbox
Bonjour à tous,
Existe-t-il une librairie C permettant de parser le contenu d'un fichier au format mbox ? J'en ai trouvé une en perl (Mail::Mbox::MessageParser) mais pas en C.
Merci.
Existe-t-il une librairie C permettant de parser le contenu d'un fichier au format mbox ? J'en ai trouvé une en perl (Mail::Mbox::MessageParser) mais pas en C.
Merci.
Forum Programmation.c Question d'accent
Salut,
J'ai depuis toujours beaucoup de mal à comprendre le fonctionnement des caractères accentués sous Linux.
Est-ce que quelqu'un peut m'expliquer comment on peut afficher des chaînes de caractères accentués en C?
Actuellement si je fais un printf("éàùè\n") sur mon portable j'ai un affichage correcte. En revanche, sur une autre machine l'affichage des accents est erroné.
J'ajoute que la machine qui n'affiche pas correctement les accents est une machine sous uclibc+busybox. De plus, l'utilisation des accents du clavier et dans (…)
J'ai depuis toujours beaucoup de mal à comprendre le fonctionnement des caractères accentués sous Linux.
Est-ce que quelqu'un peut m'expliquer comment on peut afficher des chaînes de caractères accentués en C?
Actuellement si je fais un printf("éàùè\n") sur mon portable j'ai un affichage correcte. En revanche, sur une autre machine l'affichage des accents est erroné.
J'ajoute que la machine qui n'affiche pas correctement les accents est une machine sous uclibc+busybox. De plus, l'utilisation des accents du clavier et dans (…)
Forum Programmation.c Avoir une console qui utilise un autre scheduler que celui par défaut
Bonjour,
Je suis actuellement entrain de développer des programmes C qui utilisent le scheduler SHED_FIFO. Mais le problème, c'est quand çà bug .... Je me retrouve avec un système bloqué: normal, j'ai un processus en haute priorité qui boucle et qui utilise la totalité du temps CPU.
Pour pouvoir m'en sortir, il me faudrait donc une console qui soit avec une priorité plus forte et qui servirait à "killer" ou éventuellement debugger le processus foireux. J'ai donc pensé modifier l'inittab (…)
Je suis actuellement entrain de développer des programmes C qui utilisent le scheduler SHED_FIFO. Mais le problème, c'est quand çà bug .... Je me retrouve avec un système bloqué: normal, j'ai un processus en haute priorité qui boucle et qui utilise la totalité du temps CPU.
Pour pouvoir m'en sortir, il me faudrait donc une console qui soit avec une priorité plus forte et qui servirait à "killer" ou éventuellement debugger le processus foireux. J'ai donc pensé modifier l'inittab (…)
Forum Programmation.c Perdu dans la mémoire (malloc, stack, heap et système)
Bonjour,
Tout d'accord toutes mes excuses pour la longueur du post, mais j'ai ce problème depuis un bon bout de temps sans en voir la solution.
j'ai un problème lié à de l'allocation mémoire par un malloc, mais aussi lié au système et à mes distribs par les limitations soft (ulimit).
Je m'explique : j'ai 3 distribs
Tout d'accord toutes mes excuses pour la longueur du post, mais j'ai ce problème depuis un bon bout de temps sans en voir la solution.
j'ai un problème lié à de l'allocation mémoire par un malloc, mais aussi lié au système et à mes distribs par les limitations soft (ulimit).
Je m'explique : j'ai 3 distribs
- Redhat 8.0, noyau 2.4.18-14, glibc-2.2.93-5, aucune limite soft
- Mandrake 10.1, noyau 2.6.8.1-12, glibc-2.3.3-21, limité en stack size à 8 Mo
- Red Hat Enterprise (…)
Forum Programmation.c Pointeur et chaines de caractères...
Bonjour, J'essayes de renvoyer un chaine de résultat, qui est de taille variable. Le pointeur est initialisé avec la valeur de getenv, si getenv ne renvoie pas de valeur, le pointeur de retour doit contenir NULL, dans le cas contraire il doit contenir le résultat entre guillemets : 'resultat' Je comprend bien que dans mon exemple, si getenv renvoi une valeur, et que je veux moi insérer dans le même pointeur cette valeur + quelquechose, il faudrait que je l'agrandisse... (…)
Forum Programmation.c Problème étrange
Bonjour tout le monde,Je jouais avec fontconfig quand m'est venu l'envie de séparer l'ensemble de mon code (j'avais tout mis dans main()) en petit fonctions. Et voilà le problème: fontconfig refuse de fonctionner correctement hors de main(). Même si je mets tout dans une fonction main2 ayant la même signature que main, et que main ne contient que return main2(argc, argv), ça ne marche pas (en fait, il ne remplit pas la variable res, c'est pour ça que l'assertion (…)
Forum Programmation.c Lire facilement un fichier de configuration
Bonjour,
Je voudrais savoir comment lire le plus facilement possible un fichier de configuration du type variable=valeur...
J'essayes de développer (tant bien que mal :-) pour un thinclient, je veux donc éviter d'utiliser des librairies externes à glibc et à ceux qui sont déjà utilisées (je ne sais pas s'il y en a déjà qui peuvent servir à ca dans la liste) :
ld-2.1.3.so libglib-1.2.so.0 libnsl.so.1 libutil.so.1 libXi.so.6.0 ld-linux.so.2 libglib-1.2.so.0.0.10 libnss_dns-2.1.3.so libvgagl.so libXm.so.3 lib5250.so.0 libglib.so libnss_files-2.1.3.so libvgagl.so.1 libXm.so.3.0.2 lib5250.so.0.0.0 libGL.so.1 (…)
Forum Programmation.c Xlib - bords actifs - demande conseils
Depuis pas mal de temps, je trouve une fonctionnalité qui manque et qui existe depuis très longtemps chez macOS ... la possibilité d'executer certaines tâches lorsque la souris atteint un coin de l'écran.
Au début, il sagissait de choses simples comme mettre en veille (ou empêcher la mise en veille). Mais maintenant, on peut utiliser exposé, et je trouve ça très pratique.
Je voulais donc une petite application qui surveillait lorsque la souris atteint un bord et me permette d'executer (…)
Au début, il sagissait de choses simples comme mettre en veille (ou empêcher la mise en veille). Mais maintenant, on peut utiliser exposé, et je trouve ça très pratique.
Je voulais donc une petite application qui surveillait lorsque la souris atteint un bord et me permette d'executer (…)
Forum Programmation.c Probleme de memoire, sprintf
Bonjour,
J'ai écris un petit programme, mais en grandissant, et alors qu'il marché au départ, des erreurs de mémoire sont apparues à la compilation. Il me semble que j'utilise mal sprinf ou que j'ai un probleme de comprehension quelque part... En espérant que quelqu'un saura m'aider
Voici un code de test que j'ai fait pour isoler le probleme, il me renvoi une erreur de mémoire, pouquoi ?:
#include#include int main() { char * getipaddress(char *) ; char (…)
Forum Programmation.c [GtkTreeStore] Supression d'un enfant
Bonsoir.
Je m'essaye à la suppression d'élément ds un GtkTreeStore avec gtk_tree_store_remove.
Si l'enfant n'a pas de frères, alors, le parent suivant devient l'enfant du précédent.
Hrem.
En gros :
Parent 1
-- Enfant 1
Parent 2
-- Enfant 2
-- Enfant 3
Devient après avoir supprimer l'enfant 1 :
Parent 1
-- Parent 2
-- -- Enfant 2
-- -- Enfant 3
Comment pourrais-je bien faire pr que Parent 2 ne prenne pas la place de Enfant 1 ?
(…)
Je m'essaye à la suppression d'élément ds un GtkTreeStore avec gtk_tree_store_remove.
Si l'enfant n'a pas de frères, alors, le parent suivant devient l'enfant du précédent.
Hrem.
En gros :
Parent 1
-- Enfant 1
Parent 2
-- Enfant 2
-- Enfant 3
Devient après avoir supprimer l'enfant 1 :
Parent 1
-- Parent 2
-- -- Enfant 2
-- -- Enfant 3
Comment pourrais-je bien faire pr que Parent 2 ne prenne pas la place de Enfant 1 ?
(…)
Forum Programmation.c comment récupérer l'adresse mac du pc ou s'execute le programme
J'essayes depuis 48h de trouver un bout de code qui me permettrait de récupérer l'adresse mac. Je n'ai à ce jour pas trouvé grand chose ! J'espère que quelqu'un a déjà programmé une fonction comme ca ?
Forum Programmation.c Libpcap et buffer de réception
Bonjour,
J'ai programmé un sniffer à base de libpcap. Cependant j'effectue quelques traitements derrière.
Le problème et que je perds bon nombre de paquets. Est il possible d'augmenter la taille des buffers de réception de la carte réseau comme le fait la fonction setsockopt (socket) avec libpcap ?Ou avez-vous d'autres idées permettant d'augmenter la taille des buffers de réception.
J'ai programmé un sniffer à base de libpcap. Cependant j'effectue quelques traitements derrière.
Le problème et que je perds bon nombre de paquets. Est il possible d'augmenter la taille des buffers de réception de la carte réseau comme le fait la fonction setsockopt (socket) avec libpcap ?Ou avez-vous d'autres idées permettant d'augmenter la taille des buffers de réception.
Forum Programmation.c Accéder à une bibliothèque C++ à partir de C
J'ai un programme en C (et je ne peux pas le compiler en C++. Il sagit en fait d'une extension à un programme C) qui doit accéder à une bibliothèque écrite en C++.
D'un coté, j'ai mon fichier objet écrit en C++, compilé avec g++ qui permet d'utiliser la bibliothèque C++ à travers plusieurs fonctions.
D'un autre coté, j'ai mon fichier objet écrit en C, compilé avec g++ qui doit avoir accès aux fonctions du fichier objet c++.
Comment faire (…)
D'un coté, j'ai mon fichier objet écrit en C++, compilé avec g++ qui permet d'utiliser la bibliothèque C++ à travers plusieurs fonctions.
D'un autre coté, j'ai mon fichier objet écrit en C, compilé avec g++ qui doit avoir accès aux fonctions du fichier objet c++.
Comment faire (…)
Forum Programmation.c Libtool et .la
Bonjour,
j'ai concocte un petit outil a base de plugins, le tout emmaillote dans le desormais classique autoconf/automake/libtool. En ce qui concerne les plugins, je souhaiterais n'installer que les .so dans le directory cible et libtool s'acharne a y ajouter les .la correspondant.
Apres une recherche chez monsieur G, aucune solution ne me fut proposee. C'est pourquoi je queste aupres de la populace linuxfrienne des miettes de son si grand grand savoir.
merci
j'ai concocte un petit outil a base de plugins, le tout emmaillote dans le desormais classique autoconf/automake/libtool. En ce qui concerne les plugins, je souhaiterais n'installer que les .so dans le directory cible et libtool s'acharne a y ajouter les .la correspondant.
Apres une recherche chez monsieur G, aucune solution ne me fut proposee. C'est pourquoi je queste aupres de la populace linuxfrienne des miettes de son si grand grand savoir.
merci
Forum Programmation.c Redémarrer un serveur en cas de plantage
J'ai un programme serveur sur un linux qui "écoute" sur un port TCP spécifique. Il est susceptible de recevoir des informations depuis d'autres plates-formes sur le réseau. Chaque connexion fait l'objet d'un thread. Cela fonctionne correctement dans l'ensemble, sauf lorsque le trafic devient important. Dans ce cas, le programme se plante en "segmentation fault". A première vue, il semblerait que les buffers des données se mélangent entre eux sur différents threads. En attendant de trouver l'erreur (cela risque d'être long (…)
Forum Programmation.c Faire un service sous SCO
Bonjour,
Je dois réaliser l'équivalent d'un service windows sous une distribution SCO.
Le soft doit se lancer au démarrage de la machine et n'a pas besoin de console.
Comment dois-je faire?
Je dois réaliser l'équivalent d'un service windows sous une distribution SCO.
Le soft doit se lancer au démarrage de la machine et n'a pas besoin de console.
Comment dois-je faire?
Forum Programmation.c Communication port serie
Hello,
Je suis un peu noob en programmation linux alors je viens vous demander quelques lumières...
Je voudrait détecter automatiquement si un appareil est connecté sur un port série de la machine, est-ce que c 'est faisable sous linux et comment faire?
Je sais également que les accès au port série s'effectue comme sur un fichier texte, mais comment faire pour mettre en place une lecture bloquante avec timeout?
Je voudrais rester sur la librairie standard du C.
Merci pour (…)
Je suis un peu noob en programmation linux alors je viens vous demander quelques lumières...
Je voudrait détecter automatiquement si un appareil est connecté sur un port série de la machine, est-ce que c 'est faisable sous linux et comment faire?
Je sais également que les accès au port série s'effectue comme sur un fichier texte, mais comment faire pour mettre en place une lecture bloquante avec timeout?
Je voudrais rester sur la librairie standard du C.
Merci pour (…)
Forum Programmation.c sos
Bonjour
Je suis une débutante en informatique, et je suis entrain de faire mes premiers pas en programmation. Cependant j’ai un problème avec un compilateur (turbo C++ Lite) que j’ai installé depuis un CD d’accompagnement d’un livre sur la programmation en C/C++. Un fichier LISEZ-MOI m’a permis de connaître les étapes de l’installation, toutefois j’ai du mal à programmer et compiler en utilisant une fenêtre MS-DOS ceci n’étant pas précisé ni dans le fichier ni le livre.
Merci de me (…)
Forum Programmation.c parcours d'une arborescence de fichier
Hello,
j'écris un programme pour linux en c++/gtkmm-2.4,
je voulais une fenetre un peu dans le style k3b ou gnomebaker pour afficher une arborescence de fichiers.
boost::filesystem ne marche pas sur mon pc alors j'ai trouvé des fonctions C telles que opendir() readdir() etc...
j'ai écris une fonction récursive pour lire le contenu du disk et ajouter les répertoires sur un Gtk::TreeStore...
ça marche bien si je prends le rép utilisateur comme racine de l'arborescence.
pour des réps tels que (…)
j'écris un programme pour linux en c++/gtkmm-2.4,
je voulais une fenetre un peu dans le style k3b ou gnomebaker pour afficher une arborescence de fichiers.
boost::filesystem ne marche pas sur mon pc alors j'ai trouvé des fonctions C telles que opendir() readdir() etc...
j'ai écris une fonction récursive pour lire le contenu du disk et ajouter les répertoires sur un Gtk::TreeStore...
ça marche bien si je prends le rép utilisateur comme racine de l'arborescence.
pour des réps tels que (…)
Forum Programmation.c Problème d'install metisse
Bonjour,
Je suis sous debian sarge et je cherche à installer cette interface graphique qu'est "métisse" http://www.trustonme.net/didactels/313.html#install(...)
J'ai tout telecharger, j'ai installer tout les paquet requis.
Comme indiquer dans la doc, je commence par installer les
pré-requis :
* libc
* GTK+ ( optionnel)
* libstroke
* libpng
* libreadline
* librplay
* libxmp
* libXft
* libxrender
* wmicons ( optionnel)
* fvwmicons ( optionnel)
Ensuite l'installation de nucleo :
./configure (ok)
le make m'affiche des message d'erreur :
Je suis sous debian sarge et je cherche à installer cette interface graphique qu'est "métisse" http://www.trustonme.net/didactels/313.html#install(...)
J'ai tout telecharger, j'ai installer tout les paquet requis.
Comme indiquer dans la doc, je commence par installer les
pré-requis :
* libc
* GTK+ ( optionnel)
* libstroke
* libpng
* libreadline
* librplay
* libxmp
* libXft
* libxrender
* wmicons ( optionnel)
* fvwmicons ( optionnel)
Ensuite l'installation de nucleo :
./configure (ok)
le make m'affiche des message d'erreur :
(…)
Forum Programmation.c [kernel 2.6.12] => 2.6.11 -> 2.6.12 => Seg fault
Bonjour,
Je travail sur un programme personnel qui fonctionnait très bien avant ma mise à jour kernel du 2.6.11 au 2.6.12. Depuis, j'ai une erreur de segmentation. Cette erreur disparait lorsque je repasse sur mon 2.6.11. J'ai réussit à isoler ce problème dans un petit programme C/C++. Je recherche des personnes pouvant compiler, tester ce programme pour me dire quelle est leur version du noyau et si il y a eu une erreur de segmentation ou non. (Note: utilisation ou (…)
Je travail sur un programme personnel qui fonctionnait très bien avant ma mise à jour kernel du 2.6.11 au 2.6.12. Depuis, j'ai une erreur de segmentation. Cette erreur disparait lorsque je repasse sur mon 2.6.11. J'ai réussit à isoler ce problème dans un petit programme C/C++. Je recherche des personnes pouvant compiler, tester ce programme pour me dire quelle est leur version du noyau et si il y a eu une erreur de segmentation ou non. (Note: utilisation ou (…)
Forum Programmation.c OpenGL : pas de texte
Bonjour,
j'ai un ptit problème sur mon laptop en debian testing lorsque j'utilise opengl : les textes ne s'affichent pas.
Après analyse, j'en ai déduit que la fonction glutBitmapCharacter ne faisait pas son boulot, et j'aimerai savoir pourquoi.
Quelqu'un a t il une idée ?
Merci.
ps :
freeglut3-dev 2.2.0-8
libglut3-dev 3.7-25
xlibmesa-glu-d 4.3.0.dfsg.1-1
j'ai un ptit problème sur mon laptop en debian testing lorsque j'utilise opengl : les textes ne s'affichent pas.
Après analyse, j'en ai déduit que la fonction glutBitmapCharacter ne faisait pas son boulot, et j'aimerai savoir pourquoi.
Quelqu'un a t il une idée ?
Merci.
ps :
freeglut3-dev 2.2.0-8
libglut3-dev 3.7-25
xlibmesa-glu-d 4.3.0.dfsg.1-1
Forum Programmation.c Des regex, oui mais pas trop
Salut forum.
Je me prends la tête depuis pas mal de temps sur un problème tout débile. J'utilise la lib pcre pour scanner une chaîne de caractère. Mes expressions ont été testées sous perl et passent à pcre_compile sans problème. Le problème, c'est que je n'arrive pas à faire gober la règle en entier à PCRE.
Ma chaine est
Je me prends la tête depuis pas mal de temps sur un problème tout débile. J'utilise la lib pcre pour scanner une chaîne de caractère. Mes expressions ont été testées sous perl et passent à pcre_compile sans problème. Le problème, c'est que je n'arrive pas à faire gober la règle en entier à PCRE.
Ma chaine est
from 10.0.0.1:10.0.0.10 port 56:58 to 10.0.1.100:10.0.1.110 port 80:90
(une règle de firewall).^from \\s+ (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) ( \\s+ : (\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}) )? (\\s+ (…)