Calling C++ DLLs from VC++

本文介绍了一种改进的方法来定义DLL中的导出符号。通过在Test.cpp文件中明确添加#define TEST_EXPORTS行,并确保其位于包含Test.h之前,使得DLL的导出更加清晰且易于维护。这种方法避免了使用项目选项中的宏定义,从而减少了后期维护的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

While this method certainly works, it is obscure, and may cause maintenance problems later on. I prefer to make explicit the definition of TEST_EXPORTS. I do this by deleting /D "TEST_EXPORTS" from the Project Options, and then changing Test.cpp to define TEST_EXPORTS:

 

//  Test.cpp : Defines the entry point for the DLL application.
//

#include 
" stdafx.h "
#define  TEST_EXPORTS                      //  <===  ADD THIS LINE
#include 
" Test.h "

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved)
{
.
.
.

 

Notice that the #define TEST_EXPORTS is before the line #include "Test.h", so that the definition will be seen in the include file. Now Test.dll compiles just as before, and you will have a DLL that can be called from other VC++ applications.

 

文章出处:http://www.codeproject.com/dll/XDllPt1.asp 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值