Forum Programmation.c libtheora

Posté par .
Tags : aucun
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 .
Tags : aucun
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 .
Tags : aucun
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 (page perso) .
Tags : aucun
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 (page perso) .
Tags : aucun
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 .
Tags : aucun
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 .
Tags : aucun
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 .
Tags : aucun
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 .
Tags :
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 .
Tags : aucun
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 .
Tags : aucun
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 (page perso) .
Tags : aucun
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 .
Tags : aucun
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 (...)

Forum Programmation.c free apres un Exec

Posté par .
Tags : aucun
0
7
déc.
2009
Bonjour !! J'execute ce code dans un programme
execvp(arg[0],arg);
Avez vous une idée sur la facon de liberer la memoire allouée pour char ** arg et pour les chaque char* le composant ? Merci d'avance !

Forum Programmation.c debutant en programmation systeme--Fork--Exec

Posté par .
Tags : aucun
0
3
déc.
2009
Bonjour, Etant debutant dans la programmation systeme, j'essaie de resoudre un exercice sur les processus. Le but de l'exercice est de faire un programme en ligne de commande prenant pour argument une chaine de la forme : " COMMANDE ARGUMENTS &> FICHIER" qui execute COMMANDE ARGUMENT en dirigeant stdin et stderr vers FICHIER. exemple: touch dummy chmod 200 dummy ./programme "cat *.c &> file.out" qui devrait envoyer dans file.out tous les fichiers avec extension ".c" et un message d'erreur pour (...)

Forum Programmation.c Ré-écrire wget

Posté par .
Tags : aucun
1
14
nov.
2009
Bonjour,

je suis en train de réfléchir à un petit programme (écrit en C) qui doit récupérer le code html d'une page web.
Mais, j'ai envie de pas utiliser la commande wget mais plutôt uniquement des appels systèmes. Comme par exemple open, write et autre joyeuseries.
Mon problèmes et je ne connais pas les appels systèmes qui sont suceptibles de m'interrésser.
J'ai bien récupéré le code de wget mais, les sources sont assez conséquente et je me vois mal éplucher (...)

Forum Programmation.c Driver d'acces mémoire et mode user

Posté par .
Tags : aucun
1
3
nov.
2009
Bonjour,


dans le cadre d'un projet j'essaye d'optimiser une application qui accède à une mémoire via un driver sous linux 2.4.26 (distribution Arabella pour une carte embarquée).

- Le driver est un développement spécifique qui lit et écrit dans une RAM avec les fonctions read/write. Il est chargé au démarrage avec un 'insmod'.

- L'applicatif transmet à répétition des blocs de données vers le driver avec les fonctions pread / pwrite.

Le problème est que ces appels à répétition du (...)

Forum Programmation.c lowlevellock

Posté par (page perso) .
Tags : aucun
0
23
oct.
2009
Salut,

Décidément c'est ma journée bouteilles à la mer.
Je viens de mettre à jour une FC 9 vers FC 11 et là, surprise j'ai un programme qui ne marche plus. Après un nettoyage complet des binaires, et une recompilation intégrale, le programme s'arrête dans un malloc et attend indéfiniment. Précisément l'attente se produit dans __lll_lock_wait_private() un machin écrit en assembleur de la libc. Le genre de truc que je ne sais pas lire. J'ai un peu de mal à (...)

Forum Programmation.c Utilisation de valgrind/callgrind

Posté par .
Tags : aucun
0
5
oct.
2009
Sali salut

Je travaille sur un logiciel écrit en C et j'essaie de "profiler" son activité avec callgrind. Le logiciel se comporte ainsi : il démarre et ensuite il fork 1 ou plusieurs fils.

Donc pour utiliser valgrind j'utilise cette commande :

valgrind --trace-children=yes --tool=callgrind --dump-instr=yes src/foo -f foo.conf


Seulement le fichier généré par cette commande concerne uniquement le processus père, et ne m'intéresse pas. Donc j'utilise callgrind_control -d avec en argument le PID du processus fils (que j'ai repéré (...)

Forum Programmation.c Appuie simultané de plusieurs touches

Posté par .
Tags : aucun
0
6
août
2009

Salut,

J'aimerais récupérer l'état de touches appuyées simultanément. J'arrive à récupérer la dernière touche appuyée sans attendre le retour chariot avec ce code :


	struct termios tattr;
	tattr.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */
	tattr.c_cc[VMIN] = 0;
	tattr.c_cc[VTIME] = 0;
	tcsetattr (STDIN_FILENO, TCSAFLUSH, &tattr);

	while(1){
		char c = 0;
		if( read(0, &c, 1) != 0 )
			printf("%c\n", c);
	}

J'aimerais aussi récupérer l'état des touches Ctrl Alt et Shift. J'ai l'impression que je n'y arriverai pas avec ce (...)