[ Précédent :: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 :: Suivant ]
Programmation.c : échanges asynchrones entre 2 threads
Posté par goeb (page perso, ) le 09 mars 2007En C, je voudrais faire un échange entre 2 threads de la manière suivante :
- le thread A écrit des messages dans une pile
- le thread B dépile et traite les messages
- de manière asynchrone
- le thread B ne doit pas faire une boucle consommatrice de CPU pour vérifier la présence de messages
ma question ne porte pas sur la pile, mais sur le fonctionnement asynchrone.
j'ai essayé avec des mutex, mais ça ne marchait pas (le thread A lockait toujours le mutex, et le thread B n'avait (à suivre ...)
> Lire le message (6 commentaires, moyenne: 2,7).
Programmation.c : Problem avec send()
Posté par cecile3147 () le 07 mars 2007Apparement ma fonction send() renvoie toujours -1 je n'arrive pas a savoir pour quoi, si vous pouviez m'aider. Voici le code du coté client.
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define bufLength 1024
void makeLocalSocketAdress(struct sockaddr_in (à suivre ...)
> Lire le message (5 commentaires, moyenne: 1).
Programmation.c : Masquer stdout puis réafficher.
Posté par Henry-Nicolas Tourneur (Jabber id, ) le 05 mars 2007Dans un morceau de code, l'utilisateur doit taper un mot de passe, je ne voudrais pas qu'il s'affiche, pour ce faire, j'emploie ce code :
(à suivre ...)
...
for (i = 0; i < 3; i++) {
printf("Password (ne s'affiche pas): ");
if((password = read_password()) == EOF)return FALSE;
if (strlen(password) == 1) {
printf("Erreur \n");
continue;
}
password[strlen(password) - 1] = '\0';
...
}
return FALSE;
}
/* Return EOF si problème */
char* read_password(){
int sortie;
char * password
> Lire le message (12 commentaires, moyenne: 2,1).
Programmation.c : wait(), mais pas sur un fils
Posté par Moonz () le 01 mars 2007J'ai honte de vous poser une question qui m'a l'air vraiment aussi conne (alors que j'ai cherché !), mais comment attendre l'arrêt d'un processus quelconque à partir de son pid?
(waitpid, wait, wait4 et wait3 ne marchant que sur un processus fils)
(Autrement que for(;open("/proc/" + pid) != ENOENT;); s'il vous plait ;))
> Lire le message (3 commentaires, moyenne: 2,7).
Programmation.c : Soucis pour compiler xvidcap...
Posté par Gyro Gearllose () le 23 février 2007alors voilà, je ne fais pas cette demande pour qu'on critique le fait que je veuille utiliser la version source d'xvidcap, mais parce que j'aimerai bien comprendre pourquoi il ne veut pas se compiler.
Il est fourni avec sa propre version de ffmpeg. Si je désactive l'option de configure qui va bien, de façon à utiliser celle du système, j'ai une erreur curieuse lors de la compilation du fichier codecs.c :
$ ./configure ---without-forced-embedded-ffmpeg --prefix=/usr && make
(à suivre ...)
codecs.c:351:
> Lire le message (0 commentaire).
Programmation.c : Lecture de fichier binaire
Posté par Mathias Bavay (page perso, ) le 02 février 2007Je suis en train de faire un convertisseur d'un format de fichier binaire vers ascii, et je dois lire un float codé sur 2 bytes.
J'ai donc le code suivant:
size=2;
ptr=(short int *)malloc(size);
fread(ptr,(size_t)size,1,data_file);
printf("%02X ",*((short int *)ptr));
free(ptr);
Avec prt un pointeur sur void.
Lorsque j'édite mon fichier avec khexedit, cela commence comme ceci:
47d0 63e8 6fa0 43e8 45dc 6fa0 ...
Et mon programme m'affiche ces mêmes lignes de la façon suivante:
(à suivre ...)
> Lire le message (5 commentaires, moyenne: 1,6).
Programmation.c : cc, as et ld
Posté par atalmapi () le 31 janvier 2007Je dois compiler le programme suivant :
#include "stdio.h";
long int factorielle(int n) {
if (n<2) return 1; else return n*factorielle(n-1);
}
int main(int argc, char *argv[]){
int i;
printf("Hello World!\n\n");
for(i=0;i<10;i++)
printf("%i! = %li\n",i,factorielle(i));
return 0;
}
J'utilise les commandes suivantes :
cc -c -S toto.c
as -o toto.o toto.s
Pas de problèmes à ce stade. Par contre l'utilisation de la commande ld s'avère délicate. J'ai finalement (à suivre ...)
> Lire le message (11 commentaires, moyenne: 2,5).
Programmation.c : Algo / Determiner le plus grand rectangle d'une région
Posté par Juke (Jabber id, page perso, ) le 30 janvier 2007Je recherche un algo qui me permettrais de determiner le rectangle le plus grand d'un polygone.
Malheureusement je manque de vocabulaire concernant l'algorithmie.
Pouvez vous me donner des pistes, des liens ou du vocabulaire pour faire mes recherches svp ?
J'ai trouvé la fonction gdk-region-get-clipbox mais en fait elle retourne l'inverse.
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Points-Rectan(...)
Merci de votre aide.
> Lire le message (5 commentaires, moyenne: 2,6).
Programmation.c : probleme boucle infinie + sous programme
Posté par robert26 () le 30 janvier 2007J'ai un problème je dois dans le cadre scolaire réaliser un programme en c afin de sécuriser l'accès à une barrière pour cela je dois programmer sous devpic84c
J'ai un premier programme qui fonctionne mais le prof veut que je le simplifie
J'ai donc créer un deuxième programme
et la un problème
Je suis dans une boucle infinie
Faut il insérer le sous programme dans cette boucle?
Lorsque je ne le met pas dans la boucle
La compilation fonctionne
mais au moment du test le sous (à suivre ...)
> Lire le message (0 commentaire).
Programmation.c : portabilité
Posté par yamnetouaga () le 29 janvier 2007J'ai fait programme qui reçoit et envoie des paquets icmp. Je veux le rendre portable sur le système BSD! Quel sont les "includes" et directives du pré-processeur qu'il faut ajouter? et quoi encore?
merci
> Lire le message (3 commentaires, moyenne: 1,3).
Je cherche, à partir d'un programme écrit en C à obtenir la taille d'un fichier video. J'ai essayé avec libavformat et libavcodec. Mais j'obtiens un segmentation fault.
Voici le code, crée sur base de cet exemple : http://www.inb.uni-luebeck.de/~boehme/avcodec_sample.cpp:
av_register_all();
fprintf(stdout,"OK av_register\n");
// Open video file
if(av_open_input_file(&pFormatCtx, current_file, NULL, 0, NULL)!=0)
fprintf(stderr,"Erreur av_open_input");
else if(av_find_stream_in (à suivre ...)
> Lire le message (3 commentaires, moyenne: 1,7).
Programmation.c : comportement 'aléatoire'
Posté par akno () le 20 janvier 2007je ne comprend pas pourquoi le programme ci-dessous se termine parfois correctement, parfois avec une erreur de segmentation (core dumped).
int main()
{
double tab[1047575];
tab[0] = 0;
return 0;
}
Quelqu'un pourrait-il m'expliquer d'où vient le problème ?
Y-aurait-il une limitation de la taille des tableaux (8 Mo ?) ?
Merci d'avance
> Lire le message (6 commentaires, moyenne: 2).
Programmation.c : modifier une variable
Posté par djibb (Jabber id, page perso, ) le 17 janvier 2007Objectif : plutot que le répertoire crée soit /home/user, qu'il soit /home/eleve/user
-> je suis dans les sources du module d'authentification pam_mkhomedir
dans le programme, la variable dirigeant la création est :
"dir". Elle a pour forme : /home/user
or j'aimerai intercalé la chaine "eleve/" pour que ca me donne /home/eleve/user
comment qu'on fait ?
La fonction :
void(à suivre ...)
copymkdir(char const * dir, char
> Lire le message (4 commentaires, moyenne: 6,3).
Programmation.c : Editer un fichier binaire à l'aide de templates
Posté par xylo (page perso, ) le 17 janvier 2007J'utilise actuellement sous win l'utilitaire Hackman Templates Editor qui permet de décrire le contenu d'un fichier binaire à l'aide d'un fichier de type template.
Lorsque l'on applique ce template au fichier binaire, la visualisation et la modification de ce dernier en est grandement facilité mais les opérations sont quand même réduites...
Existe-t-il, en Open Source, un outil graphique qui proposerait les mêmes fonctionnalités de base et qui permettrait en plus de faire un 'rechercher (à suivre ...)
> Lire le message (4 commentaires, moyenne: 2).
Programmation.c : Programmation multiprocesseur
Posté par zedzed () le 16 janvier 2007J'ai une petite question de débutant a laquelle je n'arrive pas a trouver la réponse : en C comment on optimise son code pour des multiprocesseurs ?
En fait je précise : j'ai un ordi qui a deux processeurs double-coeur (donc ca fait au total...). On fork ? on utilise les threads ?
Merci !
> Lire le message (4 commentaires, moyenne: 2,8).
Programmation.c : Killer un processus sans fermer la socket ?
Posté par str000mff (page perso, ) le 12 janvier 2007> Lire le message (6 commentaires, moyenne: 2).
Programmation.c : Pointeurs et gestion mémoire
Posté par Sébastien Le Roux () le 08 janvier 2007j'ai écris un code en fortran 90 et j'ai récemment décidé de lui ajouter une belle
interface gtk. Rien de plus simple pourrait on dire ... au détail près qu'il faut que je
'traduise' mon code fortran en C. Connaissant le langage C je ne m'inquiète pas
trop pour autant .. toute fois une question me démange:
Dans mon code en fortran j'alloue la mémoire dynamiquement de façon casi-systématique.
Ceci est très facile en fortran y compris pour les tableaux de dimensions (à suivre ...)
> Lire le message (7 commentaires, moyenne: 2,1).
Programmation.c : problème de struct et d'alignement
Posté par RB () le 04 janvier 2007
#include <stdio.h>;
typedef struct {
int row;
int col;
} *Pos;
typedef struct {
char* t;
int a;
int b;
int c;
Pos cur;
} *Doc;
int main(int argc, char *argv[])
{
Doc doc = malloc(sizeof(Doc));
Pos cur = malloc(sizeof(Pos));
cur->;row = 1;
doc->cur = cur;
printf("val: %d", doc->;cur->;row);
return 0;
}
Me donne:
% gcc test.c && ./a.out
val: 134520856
Si je supprimme a, b ou c (à suivre ...)
> Lire le message (6 commentaires, moyenne: 2,2).
Programmation.c : saisie de chaine et correction d'erreur autonome
Posté par frp31 () le 04 janvier 2007Je travaille sur un "bout" de code pour faire une saisie long int et gérer l'erreur de frappe (comme une lettre ou deux ou trois dans la saisie).
pour ça j'ai écrit un petit bout de code TESTEUR (compilable)
1ère idée Envoyer l'utilisateur se faire voir (un peu barbare) ;)
2ème idée un peut plus interessante vérifier que tous les caractères de la chaine sont des chiffres
Ca marche mais il est impossible de traiter l'erreur.
3éme idée et c'est là que je vais avoir besoin (à suivre ...)
> Lire le message (8 commentaires, moyenne: 2,1).
Programmation.c : Question pour C gourou !
Posté par zedis () le 31 décembre 2006J'ai un problème un peu compliqué a résoudre, ca fait quelques semaines que je suis dessus.
Voilà, j'ai dans les eaux de 1000 fichiers .csv dans un repertoire qu'il faut que je charge en mémoire pour pouvoir faire des traitements dessus.
Les données sont conservees dans chaque fichier sous la forme
char[10] char[10] int float float float float
char[10] char[10] int float float float float
char[10] char[10] int float float float float, etc.
La solution que j'ai trouvé était (à suivre ...)
> Lire le message (20 commentaires, moyenne: 2).
[ Précédent :: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 :: Suivant ]


