¡¾ÐÂÊÖÇóÖú¡¿ÈçºÎÅжÏÐźÅÁ¿´´½¨³É¹¦
ÕâÊÇÎÒÒ»¶Î¹ØÓÚ¹²Ïí¿âµÄ´úÂë,ûÍê³É.!OrI+Qg1{#kR&MMa*f
ÌâÄ¿ÊÇ:½«´´½¨,ɾ³ýÐźÅÁ¿º¯ÊýÖÆ³É¹²Ïí¿â.±àдһ¸ö³ÌÐòµ÷Óù²Ïí¿â.¿´ÊÇ·ñ³É¹¦.0|k b6cg5w c
J Z I2[ U@lD K
ÕâÊÇÎҵĵ÷ÓóÌÐò:p:U1kj BYi;G_
#include "stdio.h"
#include <sys/sem.h>
#include "dlfcn.h"
#define SOFILE "./my.so" /*Ö¸¶¨¶¯Ì¬Á´½Ó¿âÃû³Æ*/x0eF|:Mgu
L H"uj h~ v\
main()"m VI'`!pX\^
{
void *dp;
char *error;
int (*sem_creat) (key_t key);
void (*sem_del) (int semid); L yQH)l mT#Sw
key_t key;
int semid;
puts ("the example using shared lib");/i/j%w,[ ea B3a
MM?s x!`l.]4s1t
//´ò¿ª¶¯Ì¬Á´½Ó¿â
dp = dlopen (SOFILE,RTLD_LAZY);
if (dp==NULL)
{
fputs (dlerror(),stderr);MF*q'W cA
exit(1);
}
//È¡´´½¨ÐźÅÁ¿º¯Êý
sem_creat = dlsym (dp,"sem_creat");
error = dlerror();
if (error)v*G0WB p,@
{
fputs (error,stderr);
exit (1);
}
xv-UfP%P/{Vek;k
//ȡɾ³ýÐźÅÁ¿º¯Êý}%}r)_ x#x0TZ
sem_del = dlsym (dp,"sem_del");eO.jVr)\x(QD9J7w
error = dlerror();
if (error)(s,z2CV`3Y
{Oj(i%y)r6zlQ
fputs (error,stderr); _{q.]4M aK*v]
exit (1);Q.}T2G5\;b*u?
}
//µ÷Óù²Ïíº¯Êý
¡¡¡¡¡¡