Forum Programmation.c Regex et encodage

Posté par  .
Étiquettes : aucune
2
28
sept.
2012

Bonjour,

Voilà, dans mon programme j'utilise la fonction regexec qui prend en argument une chaîne que l'utilisateur entre. Jusque là pas de problème, et ca se passe plutôt bien.

Le problème, c'est que ce programme parse un fichier contenant différents path venant d'un Windows XP, dont certaines parties contiennent des accents. Du coup, ma regex 'Rom.o' ne matche jamais 'Roméo'.

Bon, j'ai fini par saisir que mes noms de paths étaient inscrits dans un encodage de 8bits, alors que mon (…)

Forum Programmation.c [cherche IDE] pour prgrammer en C

Posté par  .
Étiquettes : aucune
2
16
sept.
2012

Bonjour,
j'imagine que c'est n-ième message de ce genre mais CodeBlock, s'il est complet, me semble trop lourd (il met 30 secondes à se lancer sur mon ordinateur).
Donc j'en cherche un aussi complet (qui s'occupe de mettre les options qui vont bien lors de la compilation par exemple, je crois que c'est vraiment un truc que j'ai pas envie d'apprendre) mais un peu moins lourd.

Ma question donc : qu'utilisez-vous ?

P.S. j'utilise geany aussi pour le html/css tout ça. (…)

Forum Programmation.c Bibliothèque multi-plateforme pour jouer des sons

Posté par  .
Étiquettes :
0
9
sept.
2012

Bonjour,

J'utilise pour l'instant SDL_mixer pour jouer des sons, mais je viens de me rendre compte qu'une fois l'audio initialisée, on ne peut pas jouer des sons de n'importe quelle fréquence.

Par exemple si je fais Mix_OpenAudio avec une fréquence de 22050 Hz, alors un son à 16000 Hz sera joué trop aigu.

J'ai lu que c'est une limitation de SDL_mixer. Donc ma question est : quelles autres bibliothèques de son a-t-on (pour Linux et Windows) qui n'ont pas cette (…)

Forum Programmation.c Comment effectuer une tache le plus rapidement possible ? threads / fork() ... ?

0
9
sept.
2012

Bonjour,
en fait j'ai pri un petit exemple : *calculer la somme des nombres premiers en dessous de 2 millions.*

Et J'aimerais effectuer cette tâche le plus rapidement possible, quelque soit les ressources ou la mémoire consommée.
(Enfait, j'ai un même code, et ce que je veux c'est le paralléliser).

Les Threads :

J'ai fait un test dans un langage appelé Scala (proche du java), où j'utilise des threads.
Cependant le résultat n'est pas très concluant : le (…)

Forum Programmation.c XLib: XGetImage sur une Window

Posté par  .
Étiquettes : aucune
1
31
août
2012

Bonjour,

J'essaie de capturer l'image d'une fenêtre X11 (une sorte de screenshot dans le code).
J'ai bien récupéré le Display et l'identifiant de la Window.
J'arrive également à récupérer les infos (notamment width et height), mais j'ai une erreur BadValue lors du XGetImage.

Voici l'extrait de code concerné:

XWindowAttributes winAttr;
XGetWindowAttributes(_display, _window, &winAttr);
XImage * image = XGetImage(_display, _window, 0,0, winAttr.width,winAttr.
(…)

Forum Programmation.c retourner un pointeur vers un tableau de pointeurs

Posté par  (site web personnel) .
Étiquettes : aucune
5
19
août
2012

Bonjour,

Je commence le C, et m'entraîne en modifiant un petit logiciel, et je me heurte à des difficultés…

Une fonction teste une expression et retourne un pointeur vers la fin de l'expression si elle est trouvée. J'aimerais qu'elle retourne en outre un pointeur vers le début de l'expression, soit deux pointeurs. Comment faire ça proprement?

Voici un résumé du code actuel:

char *
expmatch (char *s)
{
    return (s+3);
}

int
main
(…)

Forum Programmation.c [Résolu][Xlib] Window : Comment obtenir une fenêtre à partir de son ID ?

Posté par  .
Étiquettes :
2
4
août
2012

**EDIT : J'ai ma réponse.

En réalité, les variables de type "Window" contiennent des int qui sont en fait les ID que l'on retouve (entre autre) avec xprop, xdotool, wmctrl …**


Bonjour, j'ai réalisé une "surcouche" pour gestionnaire de fenêtre (en bash) ; qui permet de gérer ses fenêtres en tuile, sous n'importe quel gestionnaire de fenêtre.

Mon programme utilise pour le moment xdotool, mais je voudrais m'en passer, et recoder moi même ce dont j'ai besoin :
- redimensionner une (…)

Forum Programmation.c Coût d'un accès mémoire.

Posté par  .
Étiquettes : aucune
2
25
juin
2012

Bonjour, voila ça fait plusieurs fois que je me pose cette question, que je fais quelques test sans rien trouver de concluant.
Lorsque vous avez à des calculs relativement simples à faire sur un octet, une fonction pure uint8_t (uint8_t); (qui ne fait pas plus de 20 instructions).
Quelle solution adopter pour la performance dans le cas général :

  • une table ?
  • un (gros) switch case, ça revient revient à mettre la table dans le segment texte mais est-ce que l'accès est plus (…)

Forum Programmation.c Optimisation... alignement ou taille mémoire

Posté par  (site web personnel) .
Étiquettes : aucune
4
25
mai
2012

Salut,

je me pose une question pour un développement en cours (réseaux neuronaux) vis à vis de l'optimisation niveau perfs.

Je vais avoir des tableaux de structures avec différents champs. Certains champs contiennent des infos qui typiquement tiennent sur quelques bits, et j'hésite entre deux options:

  • utiliser des champs alignés idéalement pour le processeur (32/64 bits)
  • compacter en utilisant par exemple des champs de bits

La première option améliore la vitesse d'accès aux informations par le processeur, mais gâche beaucoup (…)

Forum Programmation.c Différence affectation de structure et memcpy

Posté par  (site web personnel) .
Étiquettes : aucune
3
27
mar.
2012

Bonjour,

Je dev un OS (à titre perso) avec sa libc associée et je viens de résoudre un bug qui affectait bochs mais pas qemu :

En gros, mon application userspace reconfigure le tty pour le passer en raw (copie de la conf courante, passage en raw, application de la nouvelle conf). J'ai donc écrit pour recopier la conf courante : struct termios newt = oldt;
avec oldt un struct termios déclaré juste au dessus et initialisé comme il faut (…)

Forum Programmation.c Compilation gtk+-3.0

Posté par  .
Étiquettes :
0
14
mar.
2012

Mazette ! Je n'arrive pas à compiler après plusieurs jours, semaines, etc. Un programme avec automake, autoconf, etc. avec Gtk+-3.0 alors qu'avant tout fonctionnait sur des roulettes.

Mais que diable faut-il faire ?

Je me suis rabattu à compiler un bout de code miteux en gtk :

#include <stdlib.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
    /* Initialisation de GTK+ */
    gtk_init(&argc, &argv);

    return EXIT_SUCCESS;
}

que j'ai compilé (…)

Forum Programmation.c "Classe" GtkButton avec menu en C.

Posté par  (site web personnel) .
Étiquettes :
0
8
mar.
2012

Bonjour,

Parmi les widget Gtk, il n'y a pas de bouton (avec une icone) qui affiche un menu lorsqu'on clique dessus. Bien sur il est possible de le coder en utilisant la fonction pour afficher un GtkMenu.

En fait je l'ai même déjà vu codé proprement avec une classe héritant de GtkToggleButton (en C++ dans Gnote , en Vala dans Gnome-contacts), mais je ne l'ai pas vu en C / Gobject.
Bon ça doit pas prendre longtemps à faire mais (…)

Forum Programmation.c Signaux C PHP UID et permissions

Posté par  .
Étiquettes : aucune
1
31
jan.
2012

Bonjour a tous
Je veux creer un processus en C qui repond à des requetes PHP
J'ai choisi de les faire communiquer avec des pipes nommés. Je souhaite utiliser pour cela SIGUSR1 pour dire au processus qu'il y a une requete PHP en attente.
Php a le UID 33 et le GID 33. Quand je lance mon processus, je peux le lancer en root ou avec mon UID 1000. Je me suis par ailleurs ajouté au groupe 33. (la commande (…)

Forum Programmation.c Malloc et pointeur sur structure anonyme

Posté par  (site web personnel) .
Étiquettes : aucune
0
8
jan.
2012

Bonjour,

J'aimerais que l'on m'explique pourquoi la fonction si dessous fonctionne. Elle renvoie un tableau à deux dimension de Case, un pointeur vers une structure anonyme.

Ce qui m'intrique c'est que je fais map[i][j] = malloc (sizeof(Case)) ce qui devrait m'allouer un pointeur car c'est ce qu'est Case, et pourtant ça m'alloue une structure. Du coup je me dis que malloc à peut-être un comportement spéciale pour les pointeurs vers des structures anonymes.

Voici le code :

typedef struct
{
(…)

Forum Programmation.c Piloter un programme avec pty

Posté par  .
Étiquettes :
0
18
nov.
2011

Bonjour,

Je développe un programme de supervision, acquisition de données et enregistrement dans une base de données.

C'est donc un démon qui se lance au démarrage de Debian, et utilise rsyslog pour envoyer des messages/informations.

J'aimerai ajouter une interface de gestion interne à ce programme, qui créé des menus avec la bibliothèque ncurses.

Ce menu doit être accessible sur une console par SSH, ou en local par un port série.

Mais je ne sais pas trop quelle méthode utiliser.

J'ai (…)

Forum Programmation.c Affichage de caractères grecques UTF-8 dans Xorg

Posté par  .
Étiquettes :
3
10
nov.
2011

Bonjour,

Je travaille sur Debian Squeeze et je cherche a faire une application multilingue, Français et Grec.

Pour les caractères Grecs, on peut utiliser la norme iso8859-7.
C'est la table des caractères Grec moderne sur 8 bits (255 caractères).

On peut utiliser aussi la norme UTF-8 rassemble tout les caractères internationnaux dans 4*8bits.

J'ai fais un premier programme en C encodé en UTF-8, et je le lance à partir d'une console SSH avec PuTTY configuré en UTF-8 :

printf("test FR (…)

Forum Programmation.c Ecritures disques non bloquants

Posté par  .
Étiquettes : aucune
3
28
oct.
2011

Bonjour,

Je développe sur une carte embarquée ARM BeagleBoard xM, sur laquelle j'ai installée Debian.

Le système est installé et boot sur une carte MicroSD.

J'ai un programme C qui a des contraintes de temps de réponse de l'ordre des 50ms à respecter.

Lorsque je lance le programme normalement (./prog), mon temps de réponse est toujours respecté.

Cependant lorsque je redirige la sortie stdout du programme vers un fichier pour faire des logs (./prog > log), le programme se bloque (…)

Forum Programmation.c sendto ne fait pas complètement son boulot

Posté par  .
Étiquettes : aucune
3
21
sept.
2011

Salut à tous,

Je développe un petit programme de socket en mode RAW sous Linux que je pourrais résumer à ceci :

    int i = 0;
    for(i = 0; i < 100; i++)
    {
       sendto(/*blablabla*/);
    }

Lorsque j'exécute mon programme, d'après wireshark et ifconfig, je n'envois que 22 à 23 paquets soit un rendement de... 22 à 23%, évidemment ces chiffres peuvent varier légèrement.
Pour être totalement efficace, je dois ajouter un usleep() qui laisse une petite pause pour laisser (…)