Je voudrais savoir s'il est possible en C (Standard) de faire appel à une fonction externe à une fonction contenu dans un .so dans le nom est dans un
pointeur de caractères.
Je voudrais savoir s'il est possible en C (Standard) de faire appel à une fonction externe à une fonction contenu dans un .so dans le nom est dans un
pointeur de caractères.
Bonjour, ta question est incompréhensible. Reformule la clairement.
Cordialement.
Une fonction dans un programme C :
et forcement dans pgm -> PSB1235
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ST_PSB (TPSVCINFO *tpsvcinfo) { buffer = (char *)tpsvcinfo->data; strncpy(service,tpsvcinfo->name,7); strncpy(message,&buffer[0],4096); strcpy(pgm,"PSB"); strcat(pgm,&service[3],4); userlog("ST_PSB : Call of pgm |%s| whith arguments |%s|",pgm,&buffer30); int i; (void) tpbegin(100,0); int test = &pgm[0](message, sizeof(&buffer30), &buffer30);
dans mon .so :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <stdio.h> int PSB1235(char *iopcb, int len_ltnv, char *ltnv){ printf("Try\n"); return 0; }
Non, il n'existe rien en C standard pour faire ce que tu demandes.
merci pour ta réponse.
il faudrait faire appel à des librairies externes alors ?
tu en connaitrais pas une par hasard ?
Tu trouvera peu etre ton bonheur du coté du dynamic loading
http://stackoverflow.com/questions/3...c-loading-in-c
http://en.wikipedia.org/wiki/Dynamic...ng_the_Library
Bonjour,
J'ajoute ce lien :
http://www.bortzmeyer.org/greffon-en-c-avec-dlopen.html
Tu peux y télécharger une archive avec des exemples.
merci pour vos réponses , je vais regarder ca![]()
Partager