none
VS2012 C++ 中建立MFC DLL 项目 共享类MFC 请问.def 文件需要自己配置吗? RRS feed

  • 问题

  • VS2012 C++ 中建立MFC DLL 项目 共享类MFC  请问.def 文件需要自己配置吗? 我建立的不是空项目  勾选了 自动化 选项  如果需要自己配置 请问 具体的语法是什么?
    2013年3月14日 16:56

答案

  • 你好,

    这个.def文件是导出dll中的函数,这里的export是起到导出和更改函数名的作用。具体你可以参见Vonger给出的链接。

    所以如果您的函数不需要更换函数名,或者导出静态链接库,您可以不用在.def文件中作修改,直接用您定义的dll方法即可。

    此致


    Elegentin Xie
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 wjsta 2013年3月20日 11:50
    2013年3月20日 8:49
    版主

全部回复

  • 不需要,会自动生成的,你可以在项目的根目录下找到生成的def文件

    如果没有生成,在项目设置中也可以通过勾选生成def文件来完成

    要是自己写的话,可以参考http://baike.baidu.com/view/3306332.htm


    0xDEADBEEF

    2013年3月15日 2:35
    版主
  • VS2012 C++ 自动生成的def文件中 写着如下代码

    ; KSHook001.def : 声明 DLL 的模块参数。

    LIBRARY

    EXPORTS
        ; 此处可以是显式导出
    DllCanUnloadNow     PRIVATE
    DllGetClassObject   PRIVATE
    DllRegisterServer   PRIVATE
    DllUnregisterServer PRIVATE

    这样就可以了吗? 不需要自己在改动设置什么吗?我在网上查到 “ 一个.def文件中只有两个必需的部分:LIBRARY 和 EXPORTS。”  可是在自动生成的def文件LIBRARY下面没有代码啊 谢谢

    2013年3月15日 7:50
  • .def只是包含您要导出的函数的名称,并不是代码,具体的函数定义是在您的cpp文件中实现的。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2013年3月18日 1:32
    版主
  • 那.def 这个要如何设置? 要到处的函数名称这个要自己下写吧? 还是都是自动的? 谢谢
    2013年3月18日 14:34
  • 你好,

    这个.def文件是导出dll中的函数,这里的export是起到导出和更改函数名的作用。具体你可以参见Vonger给出的链接。

    所以如果您的函数不需要更换函数名,或者导出静态链接库,您可以不用在.def文件中作修改,直接用您定义的dll方法即可。

    此致


    Elegentin Xie
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 wjsta 2013年3月20日 11:50
    2013年3月20日 8:49
    版主