Forum Programmation.c programme-"segmenattion fault"

Posté par  .
Étiquettes : aucune
0
16
avr.
2007
Bonjour à tous,

je ne comprend pas l'origine de la "segmentation fault" qui m'est envoyé lorsque j'essaye de compiler le programme ci dessous quelqu'un pourrait il m'éclairer? :

#include <stdio.h>
#include <math.h>



double partition (double, double, double);
double expo (double, double, double,double);

int main()

{
int i,j;
double t[4],t1[4],P[4];
double z2=0.0,Kb=1.0,T=1.0;
FILE *f_in1,*f_in2,*f_out1;
FILE *f_in, *f_out;

/*printf("dimensions de la matrice?");
scanf("%i",&N1);*/

f_in=fopen("ei.txt","r");

fscanf(f_in,"%f", &t[i]);

for (i=0; i<=(4); i++)

{
z2=(z2+partition (t[i],Kb,T));
}

f_in2=fopen("ei.txt","r");
f_out1=fopen("proba_ei.txt","w");

fscanf(f_in2,"%f",&t1[j]);

for (j=0;j<=(4);j++)
{
P[j]=((exp(-t1[j]/(Kb*T)))/z2);
}

(…)

Forum Programmation.c Acquisition Webcam

Posté par  .
Étiquettes : aucune
0
11
avr.
2007
Salut a tous,
Je doit développer un logiciel qui doit acquérir des images de la webcam sur événement utilisateur (image de préférence en BMP ou PPM pour effectuer des opération dessus).
A l'heure actuel j'utilise un fork+exec pour effectuer la commande streamer, mais celle-ci met environ 2 secondes à s'éxécuter, ce qui est beaucoup trop long.
Je n'arrive pas a trouver de la documentation sur comment récupérer des images a partir de la cam.

De plus une fois l'acquisition terminé (…)

Forum Programmation.c Programme C et date en Francais

Posté par  .
Étiquettes :
0
12
avr.
2007
Bonjour,

J'ai un programme simple :

include <stdio.h>
#include <time.h>
#include <locale.h>

int main(void)
{
char* local;
time_t t;
time(&t);
local=setlocale(LC_ALL, "");
printf("la date et l'heure courante sont : %s\t %s\n", ctime(&t), local);

return 0;
}


J'aimerais que la date soit en français. Et actuellement, j'ai l'affichage suivant :


la date et l'heure courante sont : Thu Apr 12 09:09:45 2007
fr_FR.UTF-8


Je ne comprands pas bien mon erreur, et je ne souhaiterais pas modifier le code C.

Pour information, (…)

Forum Programmation.c Requêtes http dans un programme en C

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
avr.
2007
Bonjour,

Dans le cadre d'un (petit) projet pour les cours je doit réaliser un programme en C qui soit capable de lire le code source d'une page web, puis de récupérer dans ce code source des informations qui nous intéressent (genre la température qu'il fera demain sur le site de météo france).

Je suis donc partis à la recherche d'une librairie qui pourrai m'aider à réaliser cela, et j'ai trouvé libcurl :http://curl.haxx.se/libcurl/

Déjà, première question : est ce que (…)

Forum Programmation.c compilation multi architecture : Organisation d'arborescence pour éviter la duplication de codes sources

Posté par  .
Étiquettes : aucune
0
21
mar.
2007
bonjour,

je travaille actuellement en développement croisé avec une cible de type arm.

J'ai besoin pour cela de modifier le code source de projets existants et il m'est nécessaire de recompiler ces sources pour 2 architectures (i386 et arm).

j'ai donc mis en place une arborescence de ce type sur mon projet :


build
=i386
=debug
=src
et

build
=arm
=debug
=src


mon problème est que j'ai donc dans les 2 répertoires src une duplication des sources. Mon projet comportant (…)

Forum Programmation.c Pthread vs IPC sys V

Posté par  .
Étiquettes : aucune
0
18
mar.
2007
Bonjour,

Je développe actuellement un logiciel. J'ai besoin de traiter une pile / file de messages à envoyer à une partie serveur pour les traiter.

Je dois cependant attendre une confirmation de la réception du message pour le valider.

Première solution, j'utilise un thread qui tourne tout le long de mon programme et qui regarde sur une pile mise en static quelque part dans une fonction. Cette pile est remplie au fur et à mesure par mon programme. J'en arrive (…)

Forum Programmation.c Problem avec send()

Posté par  .
Étiquettes : aucune
0
7
mar.
2007
Je dois realiser un programme qui permettrait d'envoyer des messages d'un server a un client.
Apparement 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 *sa){
sa->sin_family =AF_INET;
sa->sin_port=htons(0); // any port or port 2222 ????? htons(atoi(argv[1]))
sa->sin_addr.s_addr = htonl(INADDR_ANY); // on (…)

Forum Programmation.c wait(), mais pas sur un fils

Posté par  .
Étiquettes : aucune
0
1
mar.
2007
Hello world,

J'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 ;))

Forum Programmation.c Donne livre "Jeux d'arcade en C"

Posté par  .
Étiquettes : aucune
0
12
mar.
2007
Bonjour,

Si quelqu'un le veut, je donne le livre "Jeux d'arcade en C" de Diana Gruber, en français, édité par Sybex en 1995.

Il date un peu et n'aborde que la programmation des jeux en 2D, mais constitue une bonne entrée en la matière. Ne vous attendez pas coder un clone de Quake 3, mais plutôt un clone de Super Mario...

Je peux envoyer le livre par la poste ou bien remettre le livre en main propre sur Paris /RP.

(…)

Forum Programmation.c échanges asynchrones entre 2 threads

Posté par  .
Étiquettes : aucune
0
9
mar.
2007
Bonjour,

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

Forum Programmation.c Masquer stdout puis réafficher.

Posté par  (site web personnel) .
Étiquettes : aucune
0
5
mar.
2007
Bonjour,

Dans 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 :

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

Forum Programmation.c portabilité

Posté par  .
Étiquettes : aucune
0
29
jan.
2007
Bonjour!
J'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

Forum Programmation.c comportement 'aléatoire'

Posté par  .
Étiquettes : aucune
0
20
jan.
2007
Bonjour,

je 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

Forum Programmation.c Lecture de fichier binaire

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
fév.
2007
Bonjour!

Je 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:

FFFFD047 FFFFE863 FFFFA06F FFFFE843 FFFFDC45 (…)

Forum Programmation.c cc, as et ld

Posté par  .
Étiquettes : aucune
0
31
jan.
2007
Bonjour,
Je 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 réussi à m'en servir de cette façon :


ld -o toto (…)

Forum Programmation.c Algo / Determiner le plus grand rectangle d'une région

Posté par  (site web personnel) .
Étiquettes : aucune
0
30
jan.
2007
Bonjour

Je 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.

Forum Programmation.c Taille d'une video

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
jan.
2007
Bonjour à tous,

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_info(pFormatCtx)>0)
{
// Dump information about file onto standard error
dump_format(pFormatCtx, 0, current_file, FALSE);
fprintf(stdout,"Done\n");
}
else
fprintf(stderr,"Erreur av_find_stream");

La ligne à laquelle survient (…)

Forum Programmation.c Editer un fichier binaire à l'aide de templates

Posté par  (site web personnel) .
Étiquettes : aucune
0
17
jan.
2007
Bonjour,

J'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/remplacer' puissant sur un bloc particulier (…)

Forum Programmation.c Killer un processus sans fermer la socket ?

Posté par  .
Étiquettes : aucune
0
12
jan.
2007
Salut à tous. Dans le cadre d'une reproduction d'incident je tente de flooder un serveur avec des mauvaise deconnection. Donc pour se faire j'ai un process maitre qui creer des fils - qui se connectent donc, et puis au bout d'un certain tps le maitre fait un kill des process avec le signal SIGKILL. Le probleme c'est qu'en tuant ses processus fils, les socket sont fermées proprement et c'est ce que j'aimerais éviter. Quelqu'un a t il une idee ? (…)

Forum Programmation.c modifier une variable

Posté par  (site web personnel) .
Étiquettes : aucune
0
17
jan.
2007
Préambule : j'ai jamais programmé de ma vie en C mais la, j'ai un petit besoin.

Objectif : 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
copymkdir(char const * dir, char (…)

Forum Programmation.c Programmation multiprocesseur

Posté par  .
Étiquettes : aucune
0
16
jan.
2007
Bonjour,

J'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 !

Forum Programmation.c Pointeurs et gestion mémoire

Posté par  (site web personnel) .
Étiquettes :
0
8
jan.
2007
Bonjour à tous,
j'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 (…)

Forum Programmation.c saisie de chaine et correction d'erreur autonome

Posté par  .
Étiquettes : aucune
0
4
jan.
2007
Bonjour,

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

Forum Programmation.c problème de struct et d'alignement

Posté par  .
Étiquettes : aucune
0
4
jan.
2007
Dans ce petit programme, j'ai une erreur étrange (pour moi):


#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 de la (…)

Forum Programmation.c Question pour C gourou !

Posté par  .
Étiquettes : aucune
0
31
déc.
2006
Bonjour,

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