<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    C++ DLL 模板 .

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

     C++ DLL 模板

    1、使用VS2005創建Win32 DLL項目,選擇空項目,然后加入CppDll.h和CppDll.cpp文件。

    2、修改CppDll.h和CppDll.cpp文件使之成為需要的內容。

    3、編譯生成CppDll.dll。

    下面是模板文件:

    [cpp] view plaincopyprint?
    1. //   
    2. // CppDll.h   
    3. // by cheungmine   
    4. // C++ DLL 模板   
    5. //   
    6. /*** 使用CPPDLL: 
    7. #include "../CppDll.h" 
    8. #ifdef _DEBUG 
    9. #  pragma comment(lib, "F:/del/CppDll/Debug/CppDlld.lib") 
    10. #else 
    11. #  pragma comment(lib, "F:/del/CppDll/Release/CppDll.lib") 
    12. #endif 
    13. ***/  
    14. #ifndef _CPPDLL_H__   
    15. #define _CPPDLL_H__   
    16. //#include <windows.h>   
    17. //#include <math.h>   
    18. //#include <assert.h>   
    19. //#include <memory.h>   
    20. //#include <malloc.h>   
    21. // 下列 ifdef 塊是創建使從 DLL 導出更簡單的宏的標準方法。   
    22. // 此 DLL 中的所有文件都是用命令行上定義的 CPPDLL_EXPORTS 符號編譯的。   
    23. // 在使用此 DLL 的任何其他項目上不應定義此符號。   
    24. // 這樣,源文件中包含此文件的任何其他項目都會將 CPPDLL_API 函數視為是從此 DLL 導入的,   
    25. // 而此 DLL 則將用此宏定義的符號視為是被導出的。   
    26. #ifdef CPPDLL_EXPORTS   
    27. #define CPPDLL_API __declspec(dllexport)   
    28. #else   
    29. #define CPPDLL_API __declspec(dllimport)   
    30. #endif   
    31. #define     CPPDLL_VERSION   1.0            // 常量定義   
    32. // 名稱空間   
    33. namespace CppDll  
    34. {  
    35. //   
    36. // 從 CppDll.dll 導出類   
    37. //   
    38. // 導出類: MyStruct   
    39. struct CPPDLL_API MyStruct  
    40. {  
    41.     long    x;  
    42.     long    y;  
    43. };  
    44. // 導出類: MyClass2   
    45. class CPPDLL_API MyClass2  
    46. {  
    47.     void Clear()  
    48.     {  
    49.         // 實現   
    50.     };  
    51. public:  
    52.     MyClass2();  
    53.     ~MyClass2();  
    54. };  
    55. // 導出共享變量   
    56. extern CPPDLL_API int g_nVar;  
    57. //   
    58. // 導出方法   
    59. //   
    60. CPPDLL_API double Method(const MyStruct *s1, const MyStruct *s2);  
    61. CPPDLL_API double Method(const MyStruct &s1, const MyStruct &s2);  
    62.   
    63. };   // End of namespace CppDll   
    64. #endif  // _CPPDLL_H__  

     

     

    [cpp] view plaincopyprint?
    1. //   
    2. // CppDll.cpp   
    3. // by cheungmine   
    4. //   
    5. #include "CppDll.h"   
    6. // 包含其他必要文件   
    7. // #include <vector>   
    8. using namespace CppDll;  
    9. ///////////////////////////////////////////////////////////////////////////////   
    10. // struct MyStruct   
    11.   
    12.   
    13. ///////////////////////////////////////////////////////////////////////////////   
    14. // class MyClass2   
    15. MyClass2::MyClass2()  
    16. {  
    17. }  
    18.   
    19. MyClass2::~MyClass2()  
    20. {  
    21. }  
    22. ///////////////////////////////////////////////////////////////////////////////   
    23. // 導出變量   
    24. CPPDLL_API int g_nVar = 0;  
    25. ///////////////////////////////////////////////////////////////////////////////   
    26. // 導出方法   
    27. CPPDLL_API double CppDll::Method(const MyStruct *s1, const MyStruct *s2)  
    28. {  
    29.     return 0;  
    30. }  
    31. CPPDLL_API double CppDll::Method(const MyStruct &s1, const MyStruct &s2)  
    32. {  
    33.     return 0;  
    34. }  

     

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全