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 (…)

Forum Programmation.c Édition "récursive" des liens modifiée dans les versions récentes de GCC ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
sept.
2011

Plop,

Je viens de tomber sur une question inédite pour moi qui est celle du comportement de GCC face à une utilisation de symboles d'une bibliothèque "lointaine".

Je m'explique. Imaginez la situation suivante : prog -> liba -> libb, ce qui en français donne quelque chose du genre : le programme est liée à la bibliothèque A qui est elle même liée à la bibliothèque B.

Que doit-il se passer si le programme utilise un symbole de la libb (…)

Forum Programmation.c Liaison série gestion de lecture des signaux de contrôles DSR / CTS avec termios

Posté par  (site web personnel) .
Étiquettes :
1
18
août
2011

Bonjour à tous,

Je sèche un peux sur l'algo de programmation d'une liaison série de type RS232 en utilisant termios pour lire le changement d'état des signaux DSR /CTS.

Dans le cas d'un PC standard linux sur x86 je souhaiterai lire l'état des signaux de contrôles par interruption et non en scrutant toutes les 3ms. Je souhaiterai que ma fonction getDSR soit bloquante et réveillé seulement sur changement d'état. Mais je ne vois pas comment faire ça. Donc je viens (…)

Forum Programmation.c L'opérateur unaire * me laisse perplexe (pointeurs sur fonctions principalement)

Posté par  .
Étiquettes : aucune
0
17
août
2011

J'ai du mal à me faire une idée de son fonctionnement, j'ai l'impression qu'il s'applique tantôt à ce qu'il y a à sa droite, tantôt à ce qu'il y a à sa gauche.

là, l'opérateur s'applique à ce qu'il y a à sa droite :

int * ptr_sur_entier,entier; // déclare un pointeur sur int, et un int, donc c'est équivalent à :
int (*ptr_sur_entier),entier;
pour définir un pointeur sur fonction :
int
(…)

Forum Programmation.c Programmation XML avec C

Posté par  .
Étiquettes :
0
10
juil.
2011

Bonjour,

Je cherche désespérément un livre ou un tuto qui explique la programmation xml en C. Ce qui existe, c'est surtout des infos sur l'utilisation de libxml avec php, ruby, python.

Le but est d'écrire un programme qui lise/écrive du html.

Je vous remercie bien d'avance.