LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 731|回复: 0

新手求助 如何判断信号量创建成功

[复制链接]
发表于 2006-11-15 17:26:23 | 显示全部楼层 |阅读模式
这是我一段关于共享库的代码,没完成.
题目是:将创建,删除信号量函数制成共享库.编写一个程序调用共享库.看是否成功.
这是我的调用程序:
#include "stdio.h"
#include <sys/sem.h>

#include "dlfcn.h"
#define SOFILE "./my.so" /*指定动态链接库名称*/

main()
{
        void *dp;
        char *error;
        int (*sem_creat) (key_t key);
        void (*sem_del) (int semid);
        key_t key;
        int semid;
        puts ("the example using shared lib");
       
        //打开动态链接库
        dp = dlopen (SOFILE,RTLD_LAZY);
        if (dp==NULL)
        {
                fputs (dlerror(),stderr);
                exit(1);
        }
       
        //取创建信号量函数
        sem_creat = dlsym (dp,"sem_creat");
        error = dlerror();
        if (error)
        {
                fputs (error,stderr);
                exit (1);
        }
       
        //取删除信号量函数
        sem_del = dlsym (dp,"sem_del");
        error = dlerror();
        if (error)
        {
                fputs (error,stderr);
                exit (1);
        }

        //调用共享函数
        ………………
       
        //关闭共享库
        dlclose (dp);
        exit (0);
}

如何判断是否创建了信号量呢?调用共享函数这块应该怎么写??
高手帮我下 ̄ ̄ ̄急
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表