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 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 Choix de port pour un serveur

Posté par  .
Étiquettes : aucune
0
4
mar.
2006
Bonjour je suis débutant en programmation, j'ai un petit serveur à écrire en C, et je voulais savoir si il y avait une règle particulière pour choisir le port par défaut du serveur ormis le fait qu'il soit au dessus de 1024.

Merci d'avance.

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

Forum Programmation.c Xlib qui me rend malade...

Posté par  .
Étiquettes : aucune
0
27
fév.
2006
Bonjour lé zami,

je suis en train d'écrire un panel personnalisé qui est sensé me permettre des fonctionnalités telle que :
- Accès protégé à certaines tâches dépendemment des privilèges de connexion
- Algorithme de disposition des fenêtres ouvertes avec redimensionnement.

Dans mon cas, le panel entre en action si le nombre de tâches X window est supérieur à n. il devient donc visible. Si le nombre de fenêtre devient inférieur à n, le panel se cache en bas du (…)

Forum Programmation.c Appel systeme send ()

Posté par  .
Étiquettes : aucune
0
16
fév.
2006
bonjour a tous,
je realise des appels systemes send () en C, en tres grande quantite (petit programme test de debit reseau). je suis sur 2 PC en Mandriva 2006
hors, je tombe sur le probleme suivant:
par moment, l'appel send () me retourne une valeur inferieure a la valeur du len (3e parametre du send ()).
si je comprends bien le man, avec les options par defaut (appel bloquant), soit le send me renvoie -1, soit il bloque jusqu'a (…)

Forum Programmation.c shm_open() référence indifinie !!!

Posté par  .
Étiquettes : aucune
0
20
fév.
2006
j'utilise linux depuis peu de temps, je l'ai installé pour pouvoir travailler sur les programmes C de temps réel. j'ai installé donc la version suse 8.1 PROFESSIONAL avec la version gcc 3.2 comme c'est indiqué avec la ligne de commande gcc -v :

Reading specs from /usr/lib/gcc-lib/i486-suse-linux/3.2/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --enable-languages=c,c++,f77,objc,java,ada --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux
Thread model: posix
gcc version 3.2

j'essaie de compiler le programme ci-dessous:

gcc -o shmsem -g (…)

Forum Programmation.c Pas de beep ni de LED sans carte graphique

Posté par  .
Étiquettes : aucune
0
17
fév.
2006
J'ai recyclé un vieux PC en firewall avec une distribution spécialisée (Smoothwall). J'ai enlevé tout ce qui est inutile dessus : CDROM, écran, carte graphique.
Le problème, c'est que maintenant, je ne peux plus contrôler les LED du clavier via ioctl() ni émettre de beep sur le haut parleur. Linux me répond que je n'ai pas de "tty" pour effectuer ces opérations... Pourtant, j'ai bien une entrée (le clavier et ses LED) et le haut parleur.
Comment faire accepter un (…)

Forum Programmation.c malloc_hook et multithread

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

J'ai un probleme pour utiliser malloc hook en multithread.
Je veux simplement tracer les malloc et les free d'un soft.

Mon probleme est que dans le corps de mes fonctions malloc et free, je fais appel au vrai malloc et au vrai free :

Par exemple :

1 void * my_malloc_hook(size_t size,void * ret_ptr){
2 __malloc_hook = old_malloc_hook;
3 void * ptr = malloc(size);
4 __malloc_hook = &my_malloc_hook;
5 return ptr;
6 }

old_malloc_hook étant la valeur de __malloc_hook (…)

Forum Programmation.c Une librairie pour convertir les adresses de programmes en nom de fonction ou de fichier et ligne ??

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Bonjour,

Je cherche une librairie pour faire le boulot de addr2line avec la table des symboles du programme courant.

En fait j'utilise :
void __cyg_profile_func_enter(void *this, void *callsite)
void __cyg_profile_func_exit(void *this, void *callsite)
pour enregistrer la stack d'appel sur 2 niveaux.

J'aimerais pouvoir écrire directement le nom de fonction et la ligne d'appel plutôt que l'adresse programme, lorsque je veux tracer la stack d'appel.

Est-ce que ça existe ?

Merci d'avance

Forum Programmation.c Sockets - Processus

Posté par  .
Étiquettes : aucune
0
10
fév.
2006
Bonsoir tout le monde,

Voilà je dois réaliser un petit programme "simulation bancaire".

Voici le schéma :

---------- --------------- ---------------- )
| Terminal |=========| Serveur |=========| Serveur | ) BANQUE DU
---------- (1) | d’acquisition | (2) | d’autorisation | ) COMMERCANT
--------------- ---------------- )
/\
|| (3) )
\/ )
================= ) RESEAU
|| Réseau || ) INTERBANCAIRE
|| Interbancaire || )
================= )
/\ )
|| (3’) )
\/
--------------- ---------------- )
| Serveur |=========| Serveur | ) (…)

Forum Programmation.c Récupérer les groupes d'un utilisateur

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Mon problème: récupérer les groupes (id+nom) d'un utilisateur dans un programme écrit en C

Mes contraintes:
- Le process écrit en C ne tourne pas sous l'uid de l'utilisateur (impossible d'utiliser la fonction 'getgroups')
- Ça doit fonctionner quelque soit l'identification PAM en place (passwd, winbind...), ce qui interdit à priori les fonctions du genre 'getpwnam' et 'getgrnam'.

Des idées ?

Merci.

Forum Programmation.c Extraction sous-chaînes

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

Je voudrais extraire des sous-chaînes via un délémiteur.
J'ai pensé utiliser strtok.
Le problème est que strtok renvoi un pointeur et que je voudrais créer une fonction qui me renvoi un tableau.
Genre :

int main(){
char msg[] = "|15236|termtoacq|125,23|123456789123|\n";
char del[] = "|";
msg_intercept(msg, del);
return 0;
}

char msg_intercept(char * msg, char * del){
char * p;
int i;
char * tab[4];
int nbr = sizeof(tab) / sizeof(* tab);
p = strtok(msg, del);
if (p != NULL) (…)

Forum Programmation.c getservbyname

Posté par  .
Étiquettes : aucune
0
27
jan.
2006
Bonjour
je me lance dans les sockets depuis quelques jours et je bloque sur la fonction getservbyname.
j'ecrit ce code

Code:

if ((sptr=getservbyname("ssh","tcp"))==NULL){
printf("Impossible d'avoir les infos sur le service \n");
exit (1); }
printf("Le nom du service de la machine est : %s \n",sptr->s_name);
printf("Le port du service de la machine est : %i \n",sptr->s_port);


et à léxécition, ca me donne

Citation:

Le nom du service de la machine est : ssh
Le port du service de la machine (…)

Forum Programmation.c Bibliothèque d'entrée

Posté par  .
Étiquettes : aucune
0
26
jan.
2006
Yop,

J'ai beau chercher je trouve pas, est-ce qu'il existe une bibliothèque ( de préférence portée sur plusieurs systèmes ) pour gérer les entrées des périphériques clavier, souris, joysticks, etc ?
Un truc simple, genre un tableau de booléens pour le clavier qui dit si la touche X est pressée ou non, toussa.

L'autre truc c'est qu'il faudrait que ce soit vraiment interactif, que ça affiche 1 ou 0 si la touche est vraiment appuyée ou pas, je m'explique : (…)

Forum Programmation.c Creer un othllier en C

Posté par  .
Étiquettes : aucune
0
26
jan.
2006
Bonjour je suis étudiant en informatique. Un de nos projet du semestre est de programmer en C un othello.
Un othellier est juste un damier de 8*8.Par manque de temps notre othellier doit ressembler à ceci :
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - o * - - -
- - - * o - - -
- - - (…)

Forum Programmation.c Recuperation charset courant

Posté par  .
Étiquettes : aucune
0
25
jan.
2006
Salut beau forum, j'ai un petit soucis en C pour récupérer le charset courant. Je m'explique : je présume pour ça qu'il faut le faire avec setlocale. Actuellement je fais ça :

#include <locale.h>;
#include <stdio.h>;
int main (int argc, char **argv) {
char *locale;

locale=setlocale(LC_ALL, "");
fprintf(stderr, "La locale est %s\n", locale);

locale=setlocale(LC_CTYPE, "");
fprintf(stderr, "La locale est %s\n", locale);
}
Et j'obtiens :
La locale est fr_FR.UTF-8
La locale est fr_FR.UTF-8
Est ce qu'il y a un moyen (…)

Forum Programmation.c auto-complétement en C ou Java

Posté par  .
Étiquettes : aucune
0
20
jan.
2006
Bonsoir,

Je voudrais avoir la possibilité dans mon programme - un ptit editeur en mode console - qui lorsque je souhaite invoquer une commande, celui-ci active un mode auto-complètement. (affinage du choix, ordre alphabétique et plus loin support de la casse...)
Comment procéderiez vous? quel algo de trie? sans utiliser readline de préférence. Un ptit exemple en C/Java svp ou alors expliquez tout simplement le principe si vous le pouvez.

Ce n'est qu'un ptit projet d'apprentissage, je débute.
J'ai besoin (…)

Forum Programmation.c Un exemple de makefile

Posté par  .
Étiquettes : aucune
0
12
jan.
2006
Je cherche un code source (en C) assez conséquent pour être séparé en différents modules, ces modules seraient décomposés en différent répertoire, où chaque répertoires comporterait un fichier makefile différent. Car je n'ai pas trouvé de doc expliquant la meilleure démarche pour utiliser les makefile dans ce genre d'utilisation (les hello world j'en ai à la pelle par contre), et je ne suis jamais contre relire le code d'autre personne (surtout si il est bien fait) .

Quelle application me (…)

Forum Programmation.c Glib et les threads

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
jan.
2006
Bonjour les moules (vouaaaiiii!)
Je débute tout juste en GTK et je tente de développer un petit logiciel d'IM, d'un côté l'interface graphique en GTK2 de l'autre la partie réseau qui s'occupera des échanges avec le serveurs.

Ma partie réseau étant bloquante je suis contraint d'utiliser des threads, alors autant faire les choses bien, je compte utiliser la Glib pour arriver à mes fins.

Mais il y a quelques points qui me posent problème.
Tout d'abord, imaginons que je reçoive (…)