• 大小: 256KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: C/C++
  • 标签: vc++  导出函数  

资源简介

实例在Visual Studio 2008 SP1 IDE中如何创建、编写和导出DLL,以及如何调用生成的DLL。

资源截图

代码片段和文件信息

// FirstDLL.cpp : 定义 DLL 的初始化例程。
//

#include “stdafx.h“
#include “FirstDLL.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
// 则从此 DLL 导出的任何调入
// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
// 该函数的最前面。
//
// 例如:
//
// extern “C“ BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体
// }
//
// 此宏先于任何 MFC 调用
// 出现在每个函数中十分重要。这意味着
// 它必须作为函数中的第一个语句
// 出现,甚至先于所有对象变量声明,
// 这是因为它们的构造函数可能生成 MFC
// DLL 调用。
//
// 有关其他详细信息,
// 请参阅 MFC 技术说明 33 和 58。
//

// CFirstDLLApp

BEGIN_MESSAGE_MAP(CFirstDLLApp CWinApp)
END_MESSAGE_MAP()


// CFirstDLLApp 构造

CFirstDLLApp::CFirstDLLApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CFirstDLLApp 对象

CFirstDLLApp theApp;


// CFirstDLLApp 初始化

BOOL CFirstDLLApp::InitInstance()
{
CWinApp::InitInstance();

return TRUE;
}

/**
函数:int calculateLineNum(CString filePath)
功能:用于计算文本文件的行数
日期:2012-04-09
版本:V1.0.0.1
作者:Margin MOU
描述:只需要指定文本文件的路径,若找到,则返回其行数,若没找到,则返回0
*/
extern “C“ _declspec(dllexport) int calculateLineNum(CString filePath)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CStdioFile file;
CString str;
int lineNum=0;
if (file.Open(_T(filePath)CFile::modeRead | CFile::typeText))
{
file.SeekToBegin();
while (file.ReadString(str))
{
lineNum++;
}
file.Close();
}
return lineNum;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      18896  2012-04-09 17:29  Point28\FirstDLL\FirstDLL.aps

     文件       1709  2012-04-09 17:29  Point28\FirstDLL\FirstDLL.cpp

     文件        104  2012-04-09 16:35  Point28\FirstDLL\FirstDLL.def

     文件        407  2012-04-09 16:35  Point28\FirstDLL\FirstDLL.h

     文件       3044  2012-04-09 16:35  Point28\FirstDLL\FirstDLL.rc

     文件        881  2012-04-09 16:35  Point28\FirstDLL\FirstDLL.sln

    ..A..H.     15872  2012-04-18 16:14  Point28\FirstDLL\FirstDLL.suo

     文件       5305  2012-04-09 17:27  Point28\FirstDLL\FirstDLL.vcproj

     文件       2068  2012-04-09 16:35  Point28\FirstDLL\ReadMe.txt

     文件        364  2012-04-09 16:35  Point28\FirstDLL\res\FirstDLL.rc2

     文件        364  2012-04-09 16:35  Point28\FirstDLL\Resource.h

     文件        139  2012-04-09 16:35  Point28\FirstDLL\stdafx.cpp

     文件       1131  2012-04-09 16:35  Point28\FirstDLL\stdafx.h

     文件       1030  2012-04-09 16:35  Point28\FirstDLL\targetver.h

     文件      81920  2012-04-09 17:27  Point28\TestDLL\Debug\FirstDLL.dll

     文件       2869  2012-04-09 16:46  Point28\TestDLL\Debug\ReadMe.txt

     文件     153600  2012-04-10 11:02  Point28\TestDLL\Debug\TestDLL.exe

     文件      81920  2012-04-09 17:27  Point28\TestDLL\FirstDLL.dll

     文件       1752  2012-04-09 17:27  Point28\TestDLL\FirstDLL.lib

     文件       2869  2012-04-09 16:46  Point28\TestDLL\ReadMe.txt

     文件      67777  2007-11-28 16:21  Point28\TestDLL\res\TestDLL.ico

     文件        363  2012-04-09 16:46  Point28\TestDLL\res\TestDLL.rc2

     文件        725  2012-04-09 16:47  Point28\TestDLL\resource.h

     文件        140  2012-04-09 16:46  Point28\TestDLL\stdafx.cpp

     文件       1854  2012-04-09 16:46  Point28\TestDLL\stdafx.h

     文件       1030  2012-04-09 16:46  Point28\TestDLL\targetver.h

     文件     105044  2012-04-09 17:17  Point28\TestDLL\TestDLL.aps

     文件       1666  2012-04-09 16:46  Point28\TestDLL\TestDLL.cpp

     文件        451  2012-04-09 16:46  Point28\TestDLL\TestDLL.h

     文件       5169  2012-04-09 17:17  Point28\TestDLL\TestDLL.rc

............此处省略14个文件信息

评论

共有 条评论