zoukankan      html  css  js  c++  java
  • Convert console application to dll on Visual Studio

    Go to Project Property Page/Cofniguration Properties

    General/Configuration Type, change as “Dynamic Library(.dll)”

    C/C++/Code Generation/Runtime Library, change as “/MDd”

    C/C++/Preprocessor/Preprocessor Definitions, add macro “YOURDLL_EXPORTS”

    Linker/System/SubSystem, change as “Windows(/Subsystem:windows)”

    Linker/Advanced/Import Library, change as ...$(TargetName).lib

    Create an header contains the export interfaces

    #pragma once
    #ifdef YOURDLL_EXPORTS
    #define YOURDLL_API __declspec(dllexport)
    #else
    #define YOURDLL_API __declspec(dllimport)
    #pragma comment (lib, "YOURDLL.lib")
    #endif

    And then add a dllmain.cpp file contains the allocation and deallocation for this dll
    #include "stdafx.h"
    BOOL APIENTRY DllMain( HMODULE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved
    )
    {
    UNREFERENCED_PARAMETER(hModule);
    UNREFERENCED_PARAMETER(lpReserved);

    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
    break;
    }
    return TRUE;
    }

    YOURDLL_API int Add(int lhs, rhs);
    as the abovev code, the Add function will be explored outside to invoke. If you want to explore an entire class, you should declare a class like this way:
    class YOURDLL_API CTest
    {
    public:
    static int Add(int lhs, rhs);
    };


  • 相关阅读:
    centos7 setfacl权限
    三层交换机做DHCP的一些疑问
    python3 re模块
    python3 的小爬虫
    初学python的一些简单程序(2)
    python3 字典
    python3 元组
    python3列表
    初学python的一些简单程序(1)
    python3的字符串操作
  • 原文地址:https://www.cnblogs.com/rogerroddick/p/2963402.html
Copyright © 2011-2022 走看看