如果我的project编译选项中,选择了CRT方式为MTD的方式,现在我想在程序中调用编译好的DLL,这样的话,怎么实现呢??谢谢
看了一下FAQ,有一篇文章《如何让自己写的DLL只允许静态链接》
不知,是不是这样的话,就可以编译一个静态连接的DLL,然后在我的project中就可以在CRT为MTD的方式下,调用这个DLL呢??
不知理解正不正确?

解决方案 »

  1.   

    如何让自己写的DLL只允许静态链接
    这个是什么意思?文章在什么地方
      

  2.   

    "在我想在程序中调用编译好的DLL,这样的话,怎么实现呢?" 
    有2种方法:
      一种是:1).把编译好的DLL和LIB文件COPY到你的可执行文件所在目录.
             2).把DLL的导出函数的列表头文件#INCLUDE进来.其内容必然含有类似如下内容: 
                extern "C" __declspec(dllimport)BOOL WINAPI FilterDll_HookAllApps(BOOL fInstall,DWORD dwThreadID);
            3).在你的SOURCE中就可以直接调用导出函数了
       这种方法叫隐式连接.
      另一种是:
                1.用LoadLibrary("MYDll.Dll")
                2.MyFuncType * pfn = (MyFuncType*)GetProcAddress("MyFunc");
                3.pfn(nParam,lParm..)
      这种方法叫显式连接.
      

  3.   

    忘了一点,显示连接时需要把MYDll.LIB在PROJECT->SETTING->LINK->INPUT LIB中加上去.
      

  4.   

    你的意思就是所DLL的调用与我的编译器的code generation方式(MT还是MD)无关,不管那种方式,都可以采用显示或隐式的方法调用,是吧?