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

Forum Programmation.c pthread : multi-processeur/multi-cœur ?

Posté par  .
Étiquettes : aucune
1
12
jan.
2010
Salut,


Mon programme est codé en C, utilise les thread POSIX de la lib pthread.
Il créer plusieurs thread, un thread par client connecté en TCP/IP.

Ma question : dois-je faire quelques choses pour que chaque thread s'exécute sur un processeur / cœur différent ? si oui, comment optimiser ?

Merci.

Forum Programmation.c Délai pendant l'exécution d'un fwrite

Posté par  (site web personnel) .
Étiquettes :
2
15
déc.
2009
Bonjour,
j'ai un programme qui enregistre sur le disque dur des images en provenances de plusieurs caméras. Il tourne en roue libre, le plus vite possible.

L'enregistrement se fait via la bibliothèque gdk-pixbuf. Je fais un appel à gdk_pixbuf_save, qui enregistre l'image dans le format que j'ai choisi. J'ai accès au code de gestion de ce format graphique (je l'ai écrit), et l'écriture des données se fait via un unique fwrite (mais sans fflush ensuite, mais il est normalement fait (…)

Forum Programmation.c Envoi des commandes en HEXA au port Usbserial (/dev/ttyUSB0)

Posté par  .
Étiquettes : aucune
1
14
déc.
2009
Bonjour,

j'utilise un logiciel qui communique avec le port COM sur Linux en envoyant et recevoir un ensembles de messages.

Pour tracer les messages, j'utilise un sniffer qui me donne les messages envoyés et reçus au port en HEXA.

Ce que je cherche, c'est renvoyer la même séquence de messages mais sous Linux, à l'aide d'un petit programme en C qui ouvre le port série /dev/ttyUSB0 et écrit sur lui.

Mon problème c'est comment écrire sur le port les messages (…)