各位好,
我是一个正宗的菜鸟,所以问一些很基础的问题:
  1。我想知道,生成动态链接库的时候,用函数方法定义函数和用类写成员函数在应用的时候有什么区别
  2。我还是有点糊涂,就是如果我的VC上用了滑块来选择从-10-10大小的音量的话,那么我给滑块关联了一个变量m_Rate
     那么,我在(dll)里将如何处理它?万一我再次调用这个函数的话我用的不是滑块而是按钮怎么办?
  3待更新中

解决方案 »

  1.   

    1.dll时 跟你 不用dll时 ,用函数方法定义函数和用类写成员函数 是一样的。
    2.m_Rate 作为参数进dll里的处理函数里呀
    3.待回答 呵呵,希望能帮到你
      

  2.   

    up看下windows核心编程 里面有对dll的详细介绍 还是不错的
      

  3.   

    1.dll都是导出接口函数和导出类给你exe调用
    2.dll的接口函数参数可以传递对话框指针等,然后用这个指针调用控件
      

  4.   

    导出函数就导出函数,导出类就导出类。外面调用动态库,该用函数,就调函数,该用类,就new 类exe里面怎么用那就怎么用就对了,都一样。
      

  5.   

    回复ylywyn136:
       首先感谢你的回答。
       [size=14px]现在继续更新后面的问题,各位,100分不是白拿的哦。[/size]
       3:如果我的.dll(暂且称之为mydll)里还用到了其他的.dll(暂且成为usedll),即mydll里嵌套使用 了usedll,那么我在生成mydll时怎么才能用usedll(因为我的代码里用usedll的函数,而且是必不可少的)?是否可以将usedll的头文件加到mydll工程里,不用管mydll.cpp里的代码?
       4:如果mydll成功生成了,那么我在测试它是否好用的时候,除了要链接mydll外,是否还要链接usedll?如果mydll是规则的动态链接,而usedll是静态链接,对我的测试程序是否有影响?
        5:编译mydll时遇到了这个错误----WINDOWS.H already included MFC Apps must not #include<Windows.h>,请问如何解决?
        6:待更新中... ...
      

  6.   

    你在主程序代码怎么调用dll的函数就在dll的代码中怎么调用,没区别
      

  7.   

    给你个生成dll的例子吧,这样简单
    #ifdef OS_WINDOWS
    #if defined OSRES_EXPORTS
    #define OSLIB_DLL_LINK _declspec(dllexport)
    #else
    #define OSLIB_DLL_LINK _declspec(dllimport)
    #endif
    #ifdef OSLIB_STATIC_LINK
    #define OSLIB_DLL
    #else
    #define OSLIB_DLL OSLIB_DLL_LINK
    #endif
    #else
    #define OSLIB_DLL 
    #endif
    OSLIB_DLL void *safe_malloc (INT32 size); /*申请空间并自动清空*/
    这里OSLIB_DLL表示这个函数在dll文件中的接口被输出给其它模块用。
    如果不想采用这种方式,可以在def文件中增加各个需要输出的函数名字。所有输出的函数接口链接关系在生成的lib文件中,而执行代码在dll文件中(这两个文件应该在你的debug或release目录中,提供给其它项目用的h文件,需要自己整理好)。使用是,你在使用这个dll的项目中包含lib文件即可,运行时把dll放在运行目录或者windows系统目录即可。为了兼容c和c++,建议对函数名字加上C的定义:
    #ifdef __cplusplus
    extern "C"
    {
    #endifOSLIB_DLL void *safe_malloc (INT32 size); /*申请空间并自动清空*/#ifdef __cplusplus
    }
    #endif
      

  8.   

    感谢各位,暂时无法结贴,3日内结,CSDN把我弄的很穷