我想要把工程中  db.c文件中的函数封装生成一个dll文件db.c内容中包含了一些函数  我没有做过dll文件的生成请知道的朋友讲解的详细点

解决方案 »

  1.   

    #ifndef CLIENT_H
    #define CLIENT_H
    #ifdef __cplusplus
    extern "C" {
    #endif
    int FUN(...);#ifdef __cplusplus
    }
    #endif
    #endif
    写一个这样的头文件把想倒出来的接口弄出来
      

  2.   

    参考
    http://www.programbbs.com/doc/316.htm
      

  3.   

    用工程向导生成一个空的dll工程,加入db.c文件
    最简单还是添加一个db.def文件,格式如下:
    LIBRARY "db"
    EXPORTS
        FUNCTION1
        FUNCTION2
        ........
    然后编译
      

  4.   


    可是我的工程是相互套用的
    我自己的想法是在原本的基础上新构造dll
    将头文件改了
    添加下面这些有用么?
    #ifndef SVN_LIBSVN_FS_DB_H
    #define SVN_LIBSVN_FS_DB_H#define SVN_WANT_BDB
    #include "svn_private_config.h"#include "svn_io.h"
    #include "svn_fs.h"
    #include "../fs.h"
    #include "../trail.h"#ifdef __cplusplus
    extern "C" {
    #endif /* __cplusplus */ //这里写上我所有的db.c中的函数名等
             //例如:void err_handler(OCI_Error *err);
    #ifdef __cplusplus
    }
    #endif /* __cplusplus */#endif 
      

  5.   

    你需要有dll工程,再包装一下db.c,DllMain函数等来作为入口
      

  6.   

    四楼的意思是
    我必须把db.c从我原本的工程中独立出来
    另外新建一个工程
    然后生成一个db.c放到里面才行什么?
      

  7.   

    不然你原来的工程不是dll工程,就需要修改原来工程属性等,又会影响到其他依赖这个工程的其他工程,所以新建一个dll工程比较简单
      

  8.   

    楼上的朋友
    如果我要新建的话
    是不是把db.c直接添加到新建的工程中
    再把db.c对应的头文件放进去
    我还需要改什么属性什么的咧
    不好意思
    第一次改  有点无从下手
    谢谢啊
      

  9.   

    http://hi.baidu.com/xzq2000/blog/item/1fc7ae517785808f8c5430fd.html
      

  10.   

    新建一个空的DLL工程,只需要添加db.c和对应的文件,还有一个就是提到的db.def文件,其他的不需要做修改