Forum Programmation.c identifier à coup sur un fichier.

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
26
août
2004
Bonjour,

Je désire implémenter une méthode en C qui prend en argument un fichier de type MP3 ou OGG et qui :

- renvoie les informations contenues dans une DB si le fichier est déjà présent

- ajoute le fichier dans la DB avec des valeurs par défaut si il n'est pas déjà présent (et renvoie donc ces valeurs par défaut)

Mon problème est donc d'identifier à coup sur un fichier, mais en le reconnaissant même si il a changé (…)

Forum Programmation.c Indent & makefiles

Posté par  .
Étiquettes : aucune
0
25
août
2004
M'sieurs-dames, bonjour.

Ma première question porte sur GNU indent ; j'ai pu l'amener à indenter mon code C à peu près comme je voudrais... sauf pour l'accolade de début de corps de fonctions: je voudrais obtenir:
int main(void){
/* ... */
}
mais à mon grand dam je n'ai pas pu trouver l'option qui va bien. Quelqu'un pourrait-il me tirer d'affaire ?

Deuxième question, à propos des makefiles, ou plus généralement, de l'automatisation du processus de développement d'un projet en (…)

Forum Programmation.c Problème de valeur hexadécimale dans un paquet ethernet

Posté par  .
Étiquettes : aucune
0
23
août
2004
Bonjour cher forum !

Mon problème est tout bête, aussi je vais essayer de faire court. J'utilise la librairie pcap dans un projet qui présente des fonctionnalités de sniffing. Je récupère donc mes paquets ethernet, je remplis ma structure ether_header correctement, et là j'ai un gros problème pour lire le champ ether_type qui donne le protocole que couvre la trame ethernet (ip, arp, rarp) : le problème est que d'après les headers de linux, pour IP je dois avoir Ox800 (…)

Forum Programmation.c Algorithmes syntaxiques

Posté par  .
Étiquettes : aucune
0
22
août
2004
Je recherche des informations de toute sorte sur les algorithmes syntaxiques. Je n'y connais absolument rien dans ce domaine, donc des informations très générales ne seraient de pas de refus.
De plus, si les articles mettent en relation les algorithmes avec un langage comme le C (pas orienté objet en somme), je serai encore plus satisfait ;)
Enfin, les parsers XML doivent utiliser des algorithmes bien spécifiques, et j'aimerai m'y intéresser. Bien sûr l'analyse de code source pourrait répondre à (…)

Forum Programmation.c GObject

Posté par  .
Étiquettes : aucune
0
20
août
2004
Est ce que qqun pratique GObject ?
En fait, je cherche de la doc sur GObject. J'ai lue la doc officiel mais je serai curieux
de trouver des petit exemples d'utilisation, un tutoriel en somme....
Je trouve le principe assez étrange et complexe en tout cas...

Forum Programmation.c Optimisation de code C

Posté par  .
Étiquettes : aucune
0
19
août
2004
Bonjour,

je cherche à ecrire en C une routine optimisée pour calculer un produit scalaire de deux vecteurs (de taille variable). Comme cette routine sera appelée plusieurs milliers (millions) de fois, je cherche à gagner le moindre cycle processeurs. Ma plate-forme est un athlon-XP (sans SSE2 donc). Pour l'instant j'ai 2 variantes:


* C-pure:


double dot(const double *a, const double *b, unsigned long n)
{
register double res=0.0;
register unsigned long i;


for(i=(n/4)*4; i != 0; i -= 4)
{
(…)

Forum Programmation.c Type pour un chiffre

Posté par  (site web personnel) .
Étiquettes : aucune
0
17
août
2004
Bonjour,

Suite à mon post sur la recherche d'un livre d'algorithmie [1], j'ai acheté Algorithmes en langage c [2] de Robert Sedgewick [3].

Le livre est très bien et assez simple d'accès, par contre, je ne trouve pas les corrigés des exercices.

Sinon, ma question:

Je veut representer un chiffre (0,1,2,3,4,5,6,7,8,9)
Quel type est le plus adapté, pour l'instant j'utilise des int, mais n'est ce pas une depense de memoire inutile?

Bonne journée,

Julien



[1] http://linuxfr.org/forums/19/2571.html(...)
[2] http://www.eyrolles.com/Informatique/Livre/9782100053315/livre-algo(...)
[3] http://www.cs.princeton.edu/~rs/(...)

Forum Programmation.c Pb avec le SCSI

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
août
2004
Bonjour à tous !
Pas tres vieux dans le monde Linux (NDLR: :D ) j'essaye de compiler mon propre noyau (pour apprendre, découvrir un peu comment ca marche). J'ai suivi les indications trouvées sur Lea et du Kernel HOWTO, mais la commande make bzImage modules modules_install bloque. Je me retrouve avec un truc pas beau. Je vous recopie le message du terminal:

CC [M] drivers/scsi/aic7xxx/aic79xx_pci.o
SHIPPED drivers/scsi/aic7xxx/aic79xx_reg_print.c
CC [M] drivers/scsi/aic7xxx/aic79xx_reg_print.o
CC [M] drivers/scsi/aic7xxx/aic79xx_osm.o
CC [M] drivers/scsi/aic7xxx/aic79xx_proc.o
CC [M] drivers/scsi/aic7xxx/aic79xx_osm_pci.o
make (…)

Forum Programmation.c IRC

Posté par  .
Étiquettes : aucune
0
15
août
2004
Suite à vos conseils pour le signalement d'un serveur, j'ai finalement opté pour l'IRC. Je suis donc en train de coder un plugin gérant le protocole IRC pour mon serveur, d'après les specs publiées ici : http://www.irchelp.org/irchelp/rfc/(...)
Ca me permettrait ainsi de facilement créer des chans sur un serveur genre quakenet, mais j'ai vu dans les specs qu'on pouvait créer des chans "interserveur" : "There are two types of channels allowed by this protocol. One is a distributed channel which (…)

Forum Programmation.c initialisation statique tableau

Posté par  .
Étiquettes : aucune
0
14
août
2004
Bonjour,

existe-t-il un moyen d'initialiser les gros tableau statiquement en C, c'est a dire pouvoir dire que tout le tableau doit etre initialiser avec une valeur particuliere ou encore mieux pouvoir lui precisser la valeur de certains elements et initialiser le reste a une autre constante.

Sinon existe t il une extention gcc pour le faire ?


Merci

Matthieu

Forum Programmation.c Plugin gaim pour ggz

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
août
2004
S'lu tlm

Explication du titre:
Je cherche à faire un plugin pour gaim de ggz(j'ai remarqué, par rapport à l'époque où ma soeur était encore sous windows avec msn messenger, qu'elle utilisait plus souvent les jeux que la conférence (que ce soit sonore ou visuel))(GGZ=GGZ Gaming Zone[1])
Seulement voilà bien que je sache plus ou moins programmer en C, je ne sais absolument pas faire de plugin gaim, j'envisage de regarder les plugins deja existant mais quand je vois que (…)

Forum Programmation.c Utilisation de Oprofile.

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
août
2004
Bonjour,

Après un peu de boulot sur xvid, j'ai réussi a rendre le décodeur environ 25% plus rapide... ces optims ont été le fruit de la règle maîtresse en la matière:
Avant d'optimiser une fonction, il faut s'abstenir de l'appeler.

En effet, le décodeur étant un peu laissé à l'abandon, aucun dev n'avait fait l'effort de vérifier qu'on ne faisait que le strict minimum (ie: pas de répétition inutile d'une étape de décodage)... et pire, dû à quelques changements hâtifs (…)

Forum Programmation.c Trouver des serveurs

Posté par  .
Étiquettes : aucune
0
13
août
2004
Dans pas mal de jeux ou d'autres applications réseau, on peut facilement obtenir une liste des serveurs actifs. Pour l'instant, j'update une liste d'ip sur mon ftp et je note son adresse dans un fichier de conf pour y accéder, mais ça ne me satisfait pas du tout : pas propre, pas sécurisé, pas évolutif... Comment ce genre de 'détection' se programme ?

Forum Programmation.c appel system execve dans fonction du noyau

Posté par  .
Étiquettes : aucune
0
12
août
2004
salut à tous,
je voulais demander s'il est possible d'utiliser un appel system ( comme execve) dans un appel system que je veux ajouter dans un noyau linux . l'appel est du type:
#include <linux/linkage.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/unistd.h>

char *chemin[2];
char *arg_list[2];

asmlinkage int sys_mon_appel(int arg1, char* arg2){
char *chemin[0]="PATH=/home/gadiri";
char *chemin[1]=NULL;
char *arg_list[0]="./program";
char *arg_list[1]=NULL"
/*
--

*/
_syscall3(int,execve,const char *,filename,const char * ,arg_list,char *const,env); /*macro qui permet d'invoquer l'appel system dans l'espace noyau.
execve("./program",arg_list,chemin) ;

(…)

Forum Programmation.c Plugins

Posté par  .
Étiquettes : aucune
0
11
août
2004
Bonjour à tous,
Toujours dans le cadre du développement de mon petit serveur, je suis amené à utiliser des plugins (pour lui permettre d'utiliser plusieurs protocoles simultanément). J'ouvre donc le plugin avec dlopen(), puis je cherche le symbole de la fonction ProtoIni() qui retourne un tableau contenant des pointeurs vers les fonctions du plugin. Et là, je me pose une question existentielle : est-ce que ces pointeurs restent valides après un dlclose() ? Sont-ils même encore valides quand je les (…)

Forum Programmation.c Projet utilisant libglade

Posté par  (site web personnel) .
Étiquettes : aucune
0
11
août
2004
Bonjour,

Je suis à la recherche d'un petit projet utilisant libglade[1].

En effet, j'ai regarder la source de dlume[2], il m'interessait car il utilisait une interface gtk et gerait des données xml.

Seulement faire l'interface gtk "à la main" c'est vite le bordel.

J'ai entendu parler de libglade c'en jamais reussir à le faire fonctionner correctement.
Je me suis donc mis à la recherche d'un projet similaire à dlume mais qui utilise libglade.

Mais, comment trouver un tel projet?
Y'a (…)

Forum Programmation.c Sémaphore SystemV...

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
10
août
2004
Bonjour,


Mon programme C est confronté à un problème typique de readers/writers devant accéder à la même ressource.

J'utilise donc les sémaphores et j'en crée deux dans le main :

semid = semget (IPC_PRIVATE, 2, 0666);
if (semid < 0)
{
perror("semget planté");
exit(EXIT_FAILURE);
}
up(0);
up(1);


La fonction up est


int up(int sem_nbr)
{
struct sembuf buf;
buf.sem_num = sem_nbr;
buf.sem_op = 1;
if ((semop(semid, &buf, 1)) < 0)
{
printf("semup failed on %d!!\n", sem_nbr);
fflush(NULL);
exit(EXIT_FAILURE);
}
printf("Up (…)

Forum Programmation.c 2910

Posté par  .
Étiquettes : aucune
0
10
août
2004
Bonjour tous le monde.

voila j'aimerai pouvoir utilisé le plugin de visualisation JESS pour xmms
mais qu'il réagisse sur l'entrée Line-in.j'ai donc recherché un plugin Input pour xmms pour gerer ça mais je n'ai pas trouvé.

j'ai donc envisagé plusieurs solutions :

- créer mon plugin Input

- Me servir du plugin JESS et écrire le programme maitre.

- faire un serveur de streaming audio pour récupérer le flux dans xmms

voila je ne sais pas si mes propositions sont (…)

Forum Programmation.c AM1771

Posté par  .
Étiquettes : aucune
0
10
août
2004
Bonjour,
Nouveau venu sur LinuxFr, je cherche à recompiler sur Suse 9.1 (2.6) le driver pour carte wireless :

0000:00:08.0 RF controller: Advanced Micro Devices [AMD] Am 1771 MBW [Alchemy] (rev 04)
Subsystem: Unknown device 17cf:0031
Flags: bus master, slow devsel, latency 32, IRQ 11
Memory at ef000000 (32-bit, non-prefetchable)
Capabilities: [48] Power Management version 2

J'ai bien réussi en Suse 9.0 (2.4), par contre en 2.6 !!!
J'ai lu sur différents forums qu'il faut migrer les sources de 2.4 (…)

Forum Programmation.c RAD

Posté par  .
Étiquettes : aucune
0
9
août
2004
Bonjour à tous,

J'ai quasiment achevé mon application serveur, je dois maintenant penser à l'élaboration du client graphique. L'idéal serait qu'il soit portable Linux, Win32 et MacOS. Je suis assez tenté par Gambas, qui me permettrait d'aller très vite, mais je ne sais pas s'il est possible de compiler du code Gambas sous Win32 ni MacOS...
Je souhaiterais avoir vos impressions sur les outils RAD que vous utilisez pour faire mon choix.
J'ai googlé un peu et les IDE suivantes (…)

Forum Programmation.c ecrire la liste des processus utilisateurs dans un fichier texte

Posté par  .
Étiquettes : aucune
0
8
août
2004
Salut à tous,
j'ai un problème, j'aimerai écrire la liste des processus d'un utilisateur dans un fichier et recuperer aléatoirement deux de ces numeros. je suis bloqué au niveau de la création du fichier. J'utilise le code suivant:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main ()
{
/* Liste des arguments passés à l'appel system execvp*/
char* arg_list[] = {
"ps", /* nom du programme.*/
"-u",
"gadiri", //nom d'un utilisateur
"-o",
"pid",
"--no-headers",
">id_proc.txt", /* redirection vers (…)

Forum Programmation.c Occupation CPU

Posté par  .
Étiquettes : aucune
0
5
août
2004
Salut à vous,
Je suis en train de coder un petit serveur en utilisant les pthreads. Le problème, c'est que le thread faisant tourner la fonction serveur utilise 99% du CPU, à cause des i/o non bloquantes. Le code ressemble à ça :

void *server(void)
{
....while ( contrôle du serveur)
....{
......../* Prépare le select à grand coup de FD_SET */
......../* Prépare la structure timeval, avec un timeout de 5000 uS */
........select
......../* Teste le set de (…)

Forum Programmation.c SDL

Posté par  .
Étiquettes : aucune
0
4
août
2004
j'ai téléchargé SDL, dans un linux mag, il y avait un bout de code pour faire un pong en C, je voulais faire des programmes graphiques.
je me suis un peu renseigné sur quelle librairie utiliser, SDL est portable donc parfaite... (racourci...)

Donc, je télécharge SDL-1.2.6.tar.gz et je décompresse, je fais ./configure puis make et la, quelques messages d'erreurs aparaissent...


SDL_alsa_audio.c: In function `ALSA_OpenAudio':
SDL_alsa_audio.c:272: error: too few arguments to function `snd_pcm_hw_params_get_channels'
SDL_alsa_audio.c:282: warning: passing arg 3 of `snd_pcm_hw_params_set_rate_near' makes (…)

Forum Programmation.c Utiliser 2 versions de la glibc en parallèle

Posté par  (site web personnel) .
Étiquettes : aucune
0
4
août
2004
Bonjour,

Je souhaite utiliser 2 versions de la glibc différentes sur le même système (un peu comme un développeur voudrait tester une version nouvelle encore en phase de dev de la glibc tout en conservant pour son système sa glibc stable).

Bref comment fait-on? Ou plutôt comment faîtes-vous?

Merci,
Jean-Christophe

Forum Programmation.c Essai de code

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
4
août
2004
Quelqu'un pourrait-il compiler le programme situé sur http://penso.info/tmp/server.c(...) avec une machine non Linux (un BSD par exemple). Ca utilise glib et gnet (http://www.gnetlibrary.org(...)).

Compiler avec genre :

gcc -I/usr/include/gnet-2.0/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/usr/lib/gnet-2.0/include/ -Wall -Wunused -ggdb -c server.c -o server.o
gcc -o server -ggdb -lgnet-2.0 server.o


Compiler, lancer le serveur, se connecter avec un telnet localhost 10202, puis faire un goret CTRL SHIFT 5 et me dire si le serveur fait un SIGPIPE, ou non ?

MERCI :)