Forum Programmation.c types (float, int) indépendant de l'architecture?

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

Je suis en train de travailler sur un convertisseur de fichiers binaires (propiétaires) vers ascii. Il se trouve que certains types de données sont des flotants, codés sur 4 octets.

J'ai donc écrit une fonction qui permutte les octets selon l'endianess de la machine hote, mais ensuiite j'ai été paresseux et je me suis contenté de faire simplement un cast:

size=4; //IEEE4 & L -> Little endian
ptr=malloc(size);
fread(ptr,(size_t)size,1,data_file);
Fresult=*((float *)ptr);
if(config->big_endian==1) Fresult=ShortSwap(Fresult);
free(ptr);


Y-a-t-il une façon propre et (…)

Forum Programmation.c RTAI Shared Memory

Posté par  .
Étiquettes : aucune
0
28
mai
2007
Salut,

Je viens de passer ma soirée a tenter de faire un partage de memoire en rtai et pas moyen il y sans doute quelque chose qui m'échappe. Pouvez vous me dire ce que vous en pensez ?

je laisse le code coté rtai, je pense pas que le probleme vienne du code coté linux.
merci !


#include <linux/kernel.h>
#include <linux/module.h>
#include <rtai.h>
#include <rtai_sched.h>
#include <rtai_shm.h>


#define PERIOD 1000000 //1ms


static RT_TASK t1;
RTIME time, t;
int *ptr = (…)

Forum Programmation.c Optimisation de la récursivité

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

J'ai écrit un algorithme récursif que je n'arrive pas à transformer en aglorithme itératif. En plus le code est assez simple de lecture dans sa version récursive.

Dans un soucis d'optimisation, je voudrais donc savoir si il n'est pas possible de stocker les adresses de retour de fonction ailleurs que dans une pile. Ou du moins, s'il existe un quelconque mécanisme d'optimisation pour la récursivité.

Merci d'avance,

Forum Programmation.c Problème Interface série

Posté par  .
Étiquettes : aucune
0
20
mai
2007
Bonjour, J'ai un probleme d'interfaçage via port série d'un materiél numérique... Voici le protocol correct... (WRITE pour écriture et READ pour lecture)
WRITE    02
READ    10
WRITE    01 00 03 02 10 03
READ    10 02
WRITE    10
READ    01 00 3A 02 ... 10 03
WRITE    10 02
READ    10
Voici malheureusement le meilleur résultat que je puisse obtenir
WRITE       02
READ       66
WRITE       01 00 03 02 10 03
Bref je ne vais pas bien loin... Je sais (…)

Forum Programmation.c Forcer le flush d'un application

Posté par  .
Étiquettes : aucune
0
15
mai
2007
Bonjour à tous,

Voilà, j'ai un petit problème avec une application sur lequel j'avais commencé une conversation sur un autre forum mais qui manque de réponse peut-être à cause de son niveau, donc je la tente avec des gens peut-être plus expert.

Conversation originale :
http://www.developpez.net/forums/showthread.php?p=2069429

En résumé :
J'aimerai forcer le flush du buffer de sortie (enfin, je pense que c'est une question de buffer) de certaine application comme le fait les consoles.
Je suis actuellement coincé sur Blender.
(…)

Forum Programmation.c libusb et recuperation de donnees.

Posté par  .
Étiquettes : aucune
0
10
mai
2007
bonjour,
Voila je souhaite recuperer des infos qu'un onduleur USB me passe.
J'ai pense utiliser la libusb pour cela, mais je suis bloque au niveau de la lecture.
J'arrive bien a recuperer toutes ces informations comme son endpoint adresses, sont idvendor ...

Mais je n'arrive pas a lire ce qu'il m'envoie.
J'utilise pour cela la fonction usb_bulk_read mais elle me renvoie -1 comme erreur (je ne sais pas si c'est le timeout ou alors un probleme de read).

Ou alors (…)

Forum Programmation.c aide fonctions

Posté par  .
Étiquettes : aucune
0
5
mai
2007
salut j essaye de faire un programme qui affiche:
-le type de fichier comme savoir si c'est un dossier ,programme .c
-le nom
-la date de création
-le nom du propriétaire
-les permissions

mais je ne sais pas par ou commencer ,je dois utiliser la fonction lstat()
mais je n y arrive pas ,que dois je faire ?
Merci.

Forum Programmation.c Type entier

Posté par  .
Étiquettes : aucune
0
22
avr.
2007
Bonjour

j'ai besoin de manipuler une variable entière composée de 16 chiffres, le type long ne fait pas l'affaire puisque la variable a un nombre max de 10 chiffres
vous pouvez m'aider svp?

Merci

Forum Programmation.c calcule de factoriel d un grand entier

Posté par  .
Étiquettes : aucune
0
20
avr.
2007
Bonjour à tous,
J'ai un petit soucis ,j aimerai faire une fonction factorielle,qui calcule le factoriel d'un nombre. j'ai déja utulisé une fonction recursive suivante:
int factorielle_recursive(int n)
{
if (n == 0)
return 1;
else
return n * factorielle_recursive(n-1);
}
ça marche bien , mais le probléme apparaitre lorsqu'on souhaite calculer le factoriel d'un grand nombre(20000 par example).
Alors pouvez vous m aider ,
et merci d avance

Forum Programmation.c Obtenir la liste de toutes les interfaces réseau du système

Posté par  .
Étiquettes : aucune
0
19
avr.
2007
Salut,

Je cherche à obtenir la liste de toutes les interfaces réseau d'un équipement en c.

J'ai trouvé le flag SIOCGIFCONF qui me renvois (avec ioctl) la liste des interfaces qui sont configurées ou pour lesquelles une IP leur a été attribuée. Par exemple, si je créer un bridge en y incluant toutes mes interfaces, la commande me renvois la liste avec un seul élément, le bridge.

Est-il possible de récupérer une liste de toutes les interfaces même non configurées (…)

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 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 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 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 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 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 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 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 Soucis pour compiler xvidcap...

Posté par  .
Étiquettes : aucune
0
23
fév.
2007
Bonjour,
alors 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

codecs.c:351: erreur: (…)

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