zoukankan      html  css  js  c++  java
  • Two Ways To Export from a DLL

    Exporting from a DLL

    A DLL file has a layout very similar to an .exe file, with one important difference — a DLL file contains an exports table. The exports table contains the name of every function that the DLL exports to other executables. These functions are the entry points into the DLL; only the functions in the exports table can be accessed by other executables. Any other functions in the DLL are private to the DLL. The exports table of a DLL can be viewed by using the DUMPBIN tool with the /EXPORTS option.

    You can export functions from a DLL using two methods:
        * Create a module definition (.def) file and use the .def file when building the DLL. Use this approach if you want to export functions from your DLL by ordinal rather than by name.
        * Use the keyword __declspec(dllexport) in the function's definition.

    When exporting functions with either method, make sure to use the __stdcall calling convention.

    Exporting C++ Functions for Use in C-Language Executables

    If you have functions in a DLL written in C++ that you want to access from a C-language module, you should declare these functions with C linkage instead of C++ linkage. Unless otherwise specified, the C++ compiler uses C++ type-safe naming (also known as name decoration) and C++ calling conventions, which can be difficult to call from C.

    To specify C linkage, specify extern "C" for your function declarations. For example:
    extern "C" __declspec( dllexport ) int MyFunc(long parm1);
  • 相关阅读:
    移动开发基础(二)touch事件
    js的性能优化
    理解Java的Class.forName()方法
    Linux 串口读写(一)
    PreparedStatement是如何大幅度提高性能的
    简单图像匹配(转)
    共享内存
    Oracle ORA12505, TNS:listener does not currently know of SID given in connect descriptor 解决
    Top Half & Bottom Half
    vue 插件 使用 Echarts 创建图表 (转)
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1401787.html
Copyright © 2011-2022 走看看