Forum Programmation.c Intégrer une partie des librairies lors de la compilation

Posté par  .
Étiquettes : aucune
0
3
mai
2006
Bonjour à tous,

Je dois programmer un client de connexion destiné aux clients légers sous linux. Comme vous pouvez le savoir, ces client ne disposent que de très peu de librairies disponibles nativement...

Dans mon programme, j'utilise la libxml et la libcurl. Pour l'instant le seul moyen de faire tourner l'application sur un client léger est de compiler en static le tout.
Le problème, c'est que ça coûte en mémoire...

Ce que j'aimerai pouvoir faire, c'est d'intégrer les librairies qu'il (…)

Forum Programmation.c Timer, signal et appels systèmes interrompus

Posté par  .
Étiquettes : aucune
0
30
avr.
2006
Bonjour,

Je développe sur un Linux embarqué sur ARM, avec uClibc, et j'essaye d'utiliser un timer qui génèrera le signal SIGALRM toutes les 10 ms. Pour ça je configure un signal handler pour mon signal en spécifiant SA_RESTART pour éviter d'avoir des erreurs d'interruptions d'appels systèmes (EINTR). Malheureusement j'obtiens quand même régulièrement ce type d'erreurs sur certains appels plus tard dans mon application (avec tcgetattr et un ioctl). Si j'augmente le temps avant l'envoi du premier signal (it_value), ça laisse (…)

Forum Programmation.c problème de compilation eclipse

Posté par  .
Étiquettes : aucune
0
21
avr.
2006
bonjour,

j'essais de compiler un programme destiné a des applications temps réel, j'ai un noyau 2.6.14 patcher xenomai-2.1-rc2, mon compilateur est eclipse (gcc qui tourne derière) et la console d'eclipse m'affiche:

Building target: cible2_linux
Invoking: GCC C Linker
gcc -L/usr/xenomai/lib -ocible2_linux ./udp/rudp.o ./udp/sudp.o ./Util.o ./log.o ./main_hpci.o ./pertu.o ./rtai_util.o ./redundancy/ClientTCP.o ./redundancy/Safety.o ./redundancy/lzw.o ./redundancy/ping.o ./redundancy/redundancy.o ./redundancy/sync.o ./linux/lstLib.o ./http/http.o ./http/measure.o ./crypt/RSA.o ./crypt/R_STDLIB.o ./crypt/nn.o ./bootpc/boothpc0.o ./Wdog/wdog.o ./Version/version.o ./Util/md5.o ./Trace/trace.o ./Trace/trace_log.o ./Timer/timer.o ./Server/Wdde.o ./Server/avme.o ./Server/cnfg.o ./Server/debg.o ./Server/load.o ./Server/main.o ./Server/segc.o ./Server/tabv.o ./Server/task.o ./Script/script.o ./Network/gateway.o ./Network/hpc_ip.o ./Hpc/crc.o (…)

Forum Programmation.c fichier Makefile.in et make

Posté par  .
Étiquettes :
0
19
avr.
2006
Excusez cette question de débutant, mais je ne trouve aucune réponse sur le net...

Je suis sous Ubuntu et je teste le programme Glade pour générer des interface.

Partout, je vois qu'il faut utiliser le programme "make" qui est censé se servir du fichier "Makefile.in". Mais à l'execution, je vois quelque chose du genre "fichier makefile introuvable".

J'ai bien employé la commande ./configure et tout et tout, j'ai essayé de faire "make Makefile.in", mais dans ce cas, l'erreur est du (…)

Forum Programmation.c Tableau dynamique de pointeur vers char

Posté par  .
Étiquettes : aucune
0
7
avr.
2006
Voila mon probleme j'ai un tableau de ce type :

char *message[1];

et je voudrai que ça taille augmente dynamiquement au fûr et à mesure que je trouve des nouveau mot dans le fichier texte que je parcours. Pour stocker un nouveau pointeur vers une chaine.

j'ai essayé ça mais il prend pas :

message = realloc(message, (count + 1) * sizeof(char *));

Il doit y avoir quelque chose que j'ai pas compris je vous met aussi le code en (…)

Forum Programmation.c Probleme de lecture sur RS232

Posté par  .
Étiquettes : aucune
0
7
avr.
2006
Bonjour Je dois programmer une liaison RS232 entre un pc et un µControleur 912h60A. Mais lorsque je lis le port avec le pc, tout se bloque. Voici mon code

int ReceiveSerie(void)
{
	char recept ; 
	int res = -1;
	printf("\n Reception  ...... %d\n");	
	read(fd0, &recept,sizeof(char)); 
	res = atoi(&recept);
	printf("\n--->recu : %d",res);
	return res;
}
Mon programme se bloque apres cette ligne " Reception ...... -XXXXXXX" avec X le chiffre. Pouvez vous m'aider à me débloquer? Et a me dire à (…)

Forum Programmation.c Probleme de précision

Posté par  (site web personnel) .
Étiquettes : aucune
0
1
avr.
2006
Bonjour !

J'ai un petit probleme: je finit le debuggage d'un bout de soft (GPL bien sur) qui contient entre autre un module aidant a choisir une résistance (pour l'electronique: on entre la valeur de resistance que l'on veut et il renvoie le code couleur qui correspond).

Les resistances sont codées (dans la version la plus simple) comme deux digits suivis d'une puissance de 10. Donc j'utilise beaucoup de divisions/multiplications par des puissances de 10. Actuellement, mon code est comme (…)

Forum Programmation.c Dépendances entre modules

Posté par  .
Étiquettes : aucune
0
30
mar.
2006
Bonjour,

est-ce qu'il existe des analyseurs de code (libres ou non) pour des projets dans lesquels les interfaces sont mal définies ?

Par mal définies, je veux dire qu'il y aurait par exemple beaucoup de variables importées dans chaque fichier, des variables modifiées dans plusieurs fichiers, des fonctions du fichier 1 qui appellent des fonctions du fichier 2 qui rappellent elles-mêmes des fonctions du fichier 1, etc.

Le programme en question permettrait aussi d'établir les dépendances entre les fichiers, pour (…)

Forum Programmation.c importer un gros projet dans un editeur genre kdevelop

Posté par  .
Étiquettes : aucune
0
30
mar.
2006
salut à tous !

j'ai ete integree dans un gros projet et je me suis dit que, pour pas galerer avec les librairies, dont le nombre est assez vitigineux, et etre productive le + vite possible j'allais utiliser un environnement du genre kdevelop, eclipse + CDT ou vdkb2 - en fait j'ai une petite preference pour kdevelop parcque j'ai pu trouver un plugin valgrind qui fonctionne bien dessus.

enfin bref, ma question est : est ce qu'il n'y a pas (…)

Forum Programmation.c debugger / profiler

Posté par  .
Étiquettes : aucune
0
28
mar.
2006
Bonjour,

Je cherche un comparatif le plus complet et exhaustif possible sur les différents profiler qui existent.

Je suis également intéressé par ceux que vous utilisez... et pourquoi vous les avez choisi.

merci beaucoup.

Guillaume.

Forum Programmation.c incompréhensible - utilisation d'ALSA

Posté par  .
Étiquettes : aucune
0
27
mar.
2006
Bonjour,

je tente d'écrire un soft devant lire/écrire à partir de la carte son en utilisant ALSA. Je pars du tutoriel http://www.equalarea.com/paul/alsa-audio.html

Mon code qui pose problème est :

#include "string.h";
#include "stdio.h";
#include "stdlib.h";
#include "alsa/asoundlib.h";

int main(int argc, char *argv[]){
printf("debut\n");
snd_pcm_hw_params_t *hw_params;
int i;
int err;
int dir=0;
int rate=44100;

short buf[128];


/*ON LIT*/
snd_pcm_t *capture_handle;

if ((err = snd_pcm_open (&capture_handle, "hw:0,0", SND_PCM_STREAM_CAPTURE, 0)) < 0) {
fprintf (stderr, "cannot open audio device %s (%s)\n",
argv[1],
snd_strerror (…)

Forum Programmation.c regex.h Lazy Mode

Posté par  .
Étiquettes :
0
24
mar.
2006
Bonjour,
J'essaye d'utiliser les regex de regex.h en lazy mode i.e. :
si j'ai une chaine : "tititototatatoto" et que ma regex est "(.*?)toto",
je voudrais matcher juste titi et pas tititototata en back ref.

Avec ce petit programme perl ca marche, ca affiche titi:
perl -e '$_="tititototatatoto"; m/(.*?)toto/; print $1,"\n";'

avec ce programme C ca marche pas :
#include <regex.h>
int main(){
regex_t preg; regmatch_t pmatch[2];
regcomp (&preg, "(.*?)toto" , REG_EXTENDED|REG_ICASE);
regexec (&preg, "tititototatatoto", 2, pmatch,0);
size_t len = (…)

Forum Programmation.c utilisation de libtar

Posté par  .
Étiquettes : aucune
0
21
mar.
2006
Bonjour,

J'essaye avec difficulté d'utiliser la librairie libtar, pour créer des archives, ajouter des fichiers, lire le contenu de l'archive...

Je n'ai pas trouvé de réelle documentation, ni d'exemple clair pouvant m'aider..
Est-ce que quelqu'un pourrais me poster un bout de code pour m'aider à démarrer ?

merci de votre aide.

Forum Programmation.c Rendre un parametre de programme obligatoire

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
mar.
2006
Bonjour

Je cherche à rendre une option obligatoire dans les arguments passés à un programme.

J'ai donc le code suivant :


#include <libgnome/libgnome.h>

int main(int argc, char **argv)
{
GOptionContext *context = g_option_context_new ("pelemele");

int hauteur = 0;

GOptionEntry entries[] =
{
{ "hauteur" , 'h', 0, G_OPTION_ARG_INT, &hauteur, "hauteur du fond", NULL },
{ NULL }
};
g_option_context_add_main_entries (context, entries, NULL);
gnome_program_init("pelemele", "0.0.1", LIBGNOME_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, context, GNOME_PARAM_NONE );
g_option_context_free(context);
}


Mais je ne vois pas du tout (…)

Forum Programmation.c charge CPU en C

Posté par  .
Étiquettes : aucune
0
15
mar.
2006
Bonjour,

j'aimerais savoir comment puis-je acceder le plus transparament possible à la charge du CPU à un instant t (ou disons une moyenne), depuis une application (userland) écrite en C.
Je pense que pourrais parser le fichier /proc/stat mais je trouve un peu lourd... il n'y a pas une API (ou un truc comme les monitors de Windows où une simple API permet de récupérer cette information).

Je précise que l'application tourne en tant que root, en mode console sans (…)

Forum Programmation.c Broadcast UDP sur de multiples interfaces

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
mar.
2006
Salutations,

Comme l'exprime déjà le titre, je cherche à réaliser des broadcasts UDP. J'utilise pour ça la méthode que j'imagine être classique, c'est à dire :
setsockopt(raydium_network_socket,SOL_SOCKET,
SO_BROADCAST,&on,sizeof(on));
... à destination de ...
struct sockaddr_in sock;
sock.sin_family=AF_INET;
sock.sin_addr.s_addr=htonl(INADDR_BROADCAST);
sock.sin_port=htons(RAYDIUM_NETWORK_PORT);
... avec un sendto(). Tout fonctionne parfaitement, à un détail près : sur les machines avec plusieurs interfaces réseau, les broadcasts partent uniquement sur la première interface (eth0, par exemple). Je ne trouve rien de particulier dans la page ip(7) à (…)

Forum Programmation.c Port serie, Asynchrone, Thread

Posté par  .
Étiquettes : aucune
0
12
mar.
2006
Bonjour a tous/tes

Je suis en train d'écrire une application C/C++ qui dialogue avec une interface électronique par le biais d'un port série /dev/ttyS0. Il s'agit d'une communication asynchrone, même si dans 90% des cas, c'est mon application qui émet une trame puis l'interface qui répond.


J'ai pour le moment trouvé que deux solutions, mais aucunes des deux me semble correcte. Cependant, je vous les expose.

Première)
1 Je lis de manière bloquante le fichier /dev/ttS0 pendant 1 seconde.
2 (…)

Forum Programmation.c pb callback entre malloc et apr_pool

Posté par  (site web personnel) .
Étiquettes : aucune
0
9
mar.
2006
Bonjour!

J'imagine que je ne suis pas le premier à me confronter à ce genre de problème!

J'utilise apr et notamment les fonctions de pool, qui lors d'un destroy permettent de tout libérer et ainsi me garantir de ne pas avoir de memory leaks!

Je compte faire des documents xml avec libxml2. libxm2 permet de redéfinir l'allocator ... (malloc,free,realloc).

Est ce que quelqu'un à réussi à faire un lien entre les 2?

Chaque requête à mon serveur est lié à (…)

Forum Programmation.c contrôle d'un process Java par un process C

Posté par  .
Étiquettes : aucune
0
9
mar.
2006
salut à tous !

je travail sur un projet qui fait tourner des processus C et un process java.

Aujourd'hui quand le process java plante, les autres processus ne peuvent pas reperer son plantage parcequ' il n' a pas de process pere.

Ce que j'aimerais c'est pouvoir lancer le processus java à partir d'un process C et avoir un code retour vers le processus qui le lance en cas de plantage... Et pouvoir redemarrer le processus java éventuellement automatiquement par (…)

Forum Programmation.c Sauver un Gtkliststore

Posté par  .
Étiquettes : aucune
0
6
mar.
2006
Bonjour,

Je suis débutant en programmation c (c et non c++), cependant, en utilisant glade
et anjuta, j'ai réussi à faire fonctionner une petite application utilisant gnome et gtk (2.8).

Ma question est simple :

Y a-t-il un moyen de sauver un gtkliststore (je suppose que c'est là ou les données sont stockées ?) sans le parcourir ? (Car ça serait très utile.)

J'ai essayé notamment ça :


void sauver_liste_courtier(const gchar *filename)
{
FILE *fp;
fp = fopen(filename,"w");
fwrite(courtiers_list, sizeof(courtiers_list), (…)