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.

Forum Programmation.c Lancer le programme 'chat' sur un port série

Posté par  .
Étiquettes :
0
26
mai
2011

Bonjour,

Pour lancer une connexion Internet à partir d'un modem, j'utilise le programme "chat" qui permet de lancer des commandes sur port série, en fonction des réponses du modem.

Pour l'utiliser, à partir d'une console Bash il faut que je lance le commande :

"stty -F /dev/ttyMODEM speed 9600"

pour configurer le port série, puis

chat -v -f /etc/chatscripts/gprs-signal <> /dev/ttyMODEM >&0

pour que le script chat dialogue avec le modem.

Il s'agit donc d'une redirection Read & Write des (…)

Forum Programmation.c Interface /sys pour un programme

Posté par  .
Étiquettes : aucune
2
24
mai
2011

Bonjour,

J'aimerai savoir s'il est possible pour un programme C de créer des fichiers d'interface en lecture ou écriture dans un système de fichier tmpfs, comme le fait le noyau dans le répertoire "/sys", pour pouvoir lire des variables d'un programme, ou piloter le programme.

Une autre solution existe mais un peu plus complexe à réaliser, c'est d'utiliser la mémoire partagée.

Forum Programmation.c juste pour le fun je suis tombé sur ce bout de code très ....

Posté par  .
Étiquettes :
4
18
mai
2011

Je suis tombé par hazard sur ce bout de code : Je trouve ça très drôle, comme concept... le programme auto-suicidaire...

#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>

/* 
 * is this the stupidest code all over the world ?
 * or any student first system call code ?
 *
 */

int main(int argc, char *argv[])
{
        if (argc != 2)
        {
                // if the fucking user doesn't give a signal code on args, then kill -9 program
                kill(getpid(),
(…)

Forum Programmation.c compiler pour un autre système cible

Posté par  .
Étiquettes :
3
24
mar.
2011

Bonjour,

Je débute avec le langage vala.
Jusque là tout va bien.

La où ça se corse, c'est que j'ai besoin de faire tourner mon programme sur une autre machine.
J'ai bêtement copier le binaire de A vers B, mais j'ai eu droit à une belle erreur au chargement de librairie partagée glibc (mauvaise version).

Piste n°1: compiler directement sur le système "cible"

J'ai déjà réussi à compiler python 2.7.x sur cette machine, avec support de la zlib qui va (…)

Forum Programmation.c Graphique CPU

Posté par  .
Étiquettes : aucune
0
28
fév.
2011

Bonjour.

Pour un petit projet en C et GTK, j'ai besoin d'afficher la consommation cpu de la machine, un peu comme le gnome-system-monitor.
Comme le code source est disponible, je l'ai téléchargé pour virer tout ce qui ne me sert pas et ne garder que le graphique sur la consommation CPU. C'est assez compliqué comme code, il y a du C++ mélangé au C et je ne comprend pas la moitié de ce qui est écrit. Je me demandais si (…)

Forum Programmation.c C et GTK

Posté par  .
Étiquettes : aucune
1
6
fév.
2011
Bonjour,

je suis en train d'écrire un logiciel en GTK, j'ai le "cœur" en C (pour le moment tout se lance avec les **argv), et et la partie GTK à part.
C'est la première fois que je développe un truc avec une partie graphique, et je ne sais pas trop comment fusionner les deux. En mélangeant tout ça devient vide assez bordélique, et je doute qu'il s'agisse de la bonne manière de faire.

Pourriez vous m'aider ?

Je suis aussi (…)

Forum Programmation.c Supprimer tous les appels d'une fonction dans l'ensemble du code source

Posté par  .
Étiquettes : aucune
1
27
jan.
2011
Bonjour,

Sur un code source donné (en l’occurrence le code source du driver realtek r8192), je souhaite retirer tous les appels à la fonction printk().

J'ai d'abord pensé à utiliser sed & co pour supprimer les lignes, l'ennuis, c'est que parfois les appels à la fonction s'étendent sur plusieurs lignes, ce qui complique pas mal les choses.

Je précise que je veux vraimentsupprimer les appels, pas juste augmenter la verbosité du message et configurer le gestionnaire de log pour (…)

Forum Programmation.c libtheora

Posté par  .
Étiquettes : aucune
0
8
déc.
2010
Bonjour,

J'ai modifié le fichier examples/png2theora.c de la bibliothèque libtheora afin de pouvoir encoder un sldeshow de fichiers png avec une durée attribuée à chaque slide.
La modif fonctionnait bien dans sa première version, mais maintenant j'ai des soucis dans la deuxième version.

Le message d'erreur affiché par le programme:

Could not set keyframe interval to 64.
Internal Theora library error.

Je ne sais pas de quoi il s'agit.

/********************************************************************
* *
* THIS FILE IS PART OF THE OggTheora (…)

Forum Programmation.c Effacer un pointeur fournit par une librairie externe

Posté par  .
Étiquettes : aucune
1
10
nov.
2010
Salut,

J'ai un code en C++ qui appelle une libraire C qui me retourne un tableau


while(...){
tmp tab =GetMachinTruc()
//DoSomething
}


où GetMachinTruc vient de la librairie C

dans le code de UINT16* GetMachinTruc()

tab=malloc()...
return tab


Donc j'ai donc mon tmptab qui est alloué dans GetMachinTruc
ce qui me donne sachant que je suis dans une loop une grosse fuite de mémoire.
Si je fait

while(...) {
UINT16* tmptab=GetMachinTruc
//Do Something with tmptab
free(tmptab)
}

J'ai droit a (…)

Forum Programmation.c Parallelisation d'une boucle (théoriquement) trivialement parallélisable

Posté par  .
Étiquettes :
7
5
nov.
2010
Bonjour, Je dois effectuer un nombre très important de fois la boucle suivante avec un contrainte très forte sur le temps d'exécution:

	for(i = 0 ; i < N ; i++){
		yvar1[i] = yvar1[i] + yvar2[i] + yvar3[i];
		yvar2[i] = yvar2[i] + 2.0 * yvar3[i];
	}
où N est proche de 130000 et yvar* est un tableau de double.

Ce calcul est théoriquement trivialement parallélisable mais malheureusemnt je n'obtiens pas un bon speedup avec plus de deux threads. C'est probablement (…)

Forum Programmation.c plusieurs textdomains pour un gettext

Posté par  (site web personnel) .
Étiquettes : aucune
1
10
sept.
2010
Bonjour,

Mon programme utilise plusieurs domaines de traduction : un dans le cœur et un dans un module. Quand le cœur se charge, il fait un textdomain() sur son domaine, puis quand le module se charge, il fait de même. Le problème est qu'une fois que le module le fait, les textes du cœur ne sont plus traduits.

J'ai vu qu'il était possible d'utiliser plusieurs domaines en utilisant dgettext() et en lui passant le domaine en paramètre, mais cette solution est (…)

Forum Programmation.c Commande pour le résolveur de la libc

Posté par  (site web personnel) .
Étiquettes : aucune
5
17
août
2010
Vous savez sans doute que les logiciels clients réseau ne font généralement pas eux-mêmes leurs résolutions de noms d'hôtes en adresse IP : ils utilisent des fonctions de la libc, comme gethostbyname(3) ou getaddrinfo(3).

De son côté, la libc utilise le fichier de configuration nsswitch.conf(5) pour déterminer les méthodes à utiliser pour résoudre le nom qu'on lui soumet. En général, c'est :
  1. le fichier statique hosts(5) ;
  2. une requête mDNS ;
  3. une requête DNS.
D'autres méthodes sont disponibles, comme LDAP ou YP.

Avez-vous déjà (…)

Forum Programmation.c C/commande : nombre de fichiers sur une partition/disque

Posté par  .
Étiquettes : aucune
0
4
juin
2010
Bonjour,


En C ou via une commande, est-il possible d'avoir le nombre de fichiers (ou bien approximatif du nb de dossiers, fichier regulier, liens ...) sur une partition ou un disque (par exemple sur /).
Le but est de faire une barre de progression car je parcours tout le disque récursivement.


Merci beaucoup de vos réponse.

Forum Programmation.c multiplication double-precision avec SSE

Posté par  .
Étiquettes : aucune
0
13
mar.
2010
Bonjour,

Je débute avec SSE et je cherche à faire une opération relativement simple, mais en double-precision.

J'ai un tableau de 2 double, que je veux multiplier par 1 double

en gros :


double arr[] = { 5., 3. };
double res[2];
double t = 2.;


et j'aimerai obtenir:


res[0] = arr[0] * t;
res[1] = arr[1] * t;


en utilisant SSE

Le problème est que les 2 fonctions de multiplication proposées dans sont :


__m128 _mm_mul_ps (const __m128 & (…)

Forum Programmation.c Problème avec select et pipe

Posté par  .
Étiquettes : aucune
1
10
mar.
2010
Bonjour à tous,

Pour un de mes projets, j’ai eu à faire communiquer deux programmes à l’aide d’un pipe. Rien de bien sorcier. Puis, j’ai eu besoin de gérer le timeout. J’ai tenté de le faire avec select (toujours rien de magique), et à ma grande surprise… ça ne fonctionne pas !

Voici mon code, simplifié le plus possible. C’est une utilisation basique de select(), et je ne vois pas comment j’ai pu me planter là dedans. Si quelqu’un arrive (…)

Forum Programmation.c Un noyau tout petit, en C(++)

Posté par  .
Étiquettes :
2
2
mar.
2010
Bonjour forum !

Aujourd'hui, pour apprendre la programmation des systèmes d'exploitation, je cherche un noyau avec seulement le strict minimum, un code compréhensible, et pas trop "spaghetti".
Plutôt pour faire des expérimentations (Test d'ordonnanceur, test de concept, bidouille). En fait, j'aurai bien essayé avec linux, mais sa complexité me décourage (rien que le nombre de fichier dans le dossier "kernel" fait peur, alors...)

Il faut donc que ce noyau remplisse plusieurs conditions: multitâche (même minimal), possibilité d'être exécuté depuis Qemu (…)

Forum Programmation.c Performances de memcpy ???

Posté par  .
Étiquettes :
8
8
fév.
2010
Bonjour chers lecteurs du forum,

Une petite question me tarabuste : je viens de découvrir le benchmark tout simple mbw (pour memory bandwith) qui teste les performance de la machine pour ce qui est de la mémoire. Il est disponible sous debian testing ou à l'adresse http://linux.softpedia.com/progDownload/MBW-Download-12167.h(...) il n'y a pas plus simple : un simple fichier C à compiler).

Il s'agit d'allouer un tableau d'entiers, et de le copier le plus vite possible vers un autre tableau. Le test (…)