4.VS2010C++建立DLL工程

相关资料:

http://blog.csdn.net/jshayzf/article/details/23608705

http://blog.csdn.net/huang_xw/article/details/7524359

实际操作:

1.文件->新建->项目->Win32->Win32项目->写入名字"DBEngine"->确定->下一步->选择"DLL"->完成。
2.生成->生成解决方案->"DLL\DBEngine\Debug\"下面就有出现.dll文件了。
3.头文件->右击->添加->新建项->Visual C++->代码->头文件(.h)->写入名字"DataAccess.h"->添加。
代码:
#ifndef DataAccess_H_
#define DataAccess_H_
#ifdef DBEngine
#define DBEngine extern "C" _declspec(dllimport)
#else
#define DBEngine extern "C" _declspec(dllexport)
#endif
DBEngine int Add(int plus1, int plus2);
#endif

4.源文件->右击->添加->新建项->Visual C++->代码->C++文件(.cpp)->写入名字"DataAccess.cpp"->添加。
代码:
#include "stdafx.h"
#include "DataAccess.h"
#include <iostream>
using namespace std;
int Add(int plus1, int plus2)
{
int add_result = plus1 + plus2;
return add_result;
}

5.源文件->右击->添加->新建项->Visual C++->代码->模块定义文件(.def)->写入名字"DataAccess.def"->添加。
代码:
LIBRARY "DBEngine"
EXPORTS
Add @1

6.VS2010自动定义好了DLL入口。
7.生成->生成解决方案->"DLL\DBEngine\Debug\"就出现新的.dll文件与.lib了。

//***************************************Delphi调用DLL**************************************//
1.新建一个Delphi工程。
2.放入DLL。
3.写入如下代码:

 1 unit Unit1;
 2
 3 interface
 4
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, StdCtrls, Buttons;
 8
 9 type
10   TForm1 = class(TForm)
11     BitBtn1: TBitBtn;
12     procedure BitBtn1Click(Sender: TObject);
13   private
14     { Private declarations }
15   public
16     { Public declarations }
17   end;
18
19 var
20   Form1: TForm1;
21
22
23 function Add(Aint: Integer; Aint2: Integer):Integer; cdecl; external ‘DBEngine.dll‘;
24
25
26 implementation
27
28 {$R *.dfm}
29
30 procedure TForm1.BitBtn1Click(Sender: TObject);
31 var
32   AddValue:Integer;
33 begin
34   AddValue := Add(1, 2);
35   Caption := IntToStr(AddValue);
36 end;
37
38 end.

4.F9运行就可以看到结果了。

PS:声明中不加__stdcall,采用VC默认格式__cdecl,但在Delphi中要注明调用格式为cdecl。

时间: 2024-12-19 14:49:40

4.VS2010C++建立DLL工程的相关文章

idea环境下建立maven工程并运行scala程序

idea中scala编程环境及建立maven工程 1.下载idea软件并破解:http://blog.csdn.net/nn_jbrs/article/details/70139178 2.安装scala 首先在安装好了idea后,要运行scala程序首先在自己的主机上安装Scala,scala的安装参考百度经验:http://jingyan.baidu.com/article/d5a880ebb2e51a13f047cc46.html 3.scala插件安装 在idea上运行Scala需要安装

关于建立Android工程R文件丢失的问题

今天开始学习Android了,好久没打开eclipse,建立Android工程老是报错,于是手残的把appcompat-v7给删了,然后建立工程以后重新出来的appcompat-v7有个小叉号,百度了好一把,才想起来要改SDK版本 如图吧:右击appcompat-v7选中properties,把SDK版本设置成最高了5.1.1 然后创建Android项目,一开始我的编译SDK选择的是如图: 然后报错,并没有R文件如图 后来吧如图 改成了5.1.1然后就没错了,R文件也在 反正我是出了这种错,注意

robotium 测试APK&lt;一&gt; 建立测试工程

1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android Test Project ApkTest,然后点击下一步的时候选择This project,以下是新建的空工程 2.建立一个lib文件夹与conf文件夹lib放置依赖包,将robotium依赖包放进lib中,再由buildpath导入 conf放置需要的配置文件 3.将被测APK重新签名 因为roboti

使用Eclipse建立web工程

使用Eclipse建立web工程(用jsp文件做例子) 第一步:创建java web工程,打开Eclipse,点击 File==>new==>Dynamic web Porject 第二步:在打开的新建窗口中填写 项目名称,然后点击Finish按钮就可以完成项目的创建 第三步:目录创建好了之后是这样的一个web目录 第四步:如果需要在工程中生成web.xml,就得在创建项目时不要按Finally按next,在下一步的选项中选中下面这个打上勾 第五步:创建自己的网页下面的例子是jsp网页,在we

STM32开发环境--使用MDK建立一个工程

开发环境的搭建: MDK下载 首先应该下载到MDK官网:http://www.keil.com/arm/mdk.asp 下载最新版的MDK安装包,进入MDK官网,点击download按钮  跳转到下载界面,填入必要的信息:  然后在页面下方点击提交按钮:  如果填写的信息,符合要求,在本页面将会显示下载连接:  点击下载MDK(可以看到香农这里的MDK版本是MDK520,大概有567M的样子) MDK安装 下载完成之后点击安装:   选择安装目录,根据自己的需求定义,  随便填一些用户信息-  

VS2013中修改.dll工程项目的.lib和.dll的输出路径

一个dll工程,生成的两个东西是我们需要的:.lib和.dll,在实际开发过程中我们往往希望这两个东西直接输出到特定文件夹,对于这两个的修改: 设置好之后,对于调用该dll的exe工程,将exe的输出目录设置到.dll同一个目录下,同时修改调试信息:

关于eclipse SE版本不支持建立web工程的问题

关于eclipse SE版本不支持建立web工程的问题 我们会发现 JAVA eclipse SE版本无法建立 Web 程序的问题...... 最好的解决方法就是下载一个JAVA eclipse EE版本的......... 但是非要用eclipse SE来编写前端程序,也不是不可以... 这里有个解决方法,亲测有效... 这是eclipse SE版本的,我的可以建立web 工程了.大家按照以下步骤,最后就会出现如下效果 首先---点击Help==> Install New Software 然

VS2019尝试dll工程与控制台联调

如何实现让自己写的动态链接库工程 (Dynamic-Link Library Project)和测试工程 (比如Console)在同一个解决方案下调试呢? 下面就拿VS2019的DLL项目搭配控制台设置一下联合调试: 先创建一个简单的DLL动态链接库项目,在这里我们把ta命名为"Dll1". 在Dll1里,添加一个头文件,在里面添加动态库中欲导出函数的函数头,这里我们添加了两个非常简单的Add和Sub函数,不过在新版VS的编译环境下,一定要记得include pch.h这个预编译文件.

配置DLL工程

说明 参数 例子 说明 Dll或者exe输出路径 ConfigurationProperties------General-----Output Directory ..\..\bin\x64d\ 输出Dll路径和名字 Linker----General----Output File $(OutDir)\$(ProjectName).dll OutDir通过上一步已经设置好 OutDir ==..\..\bin\x64d\ 输出lib库的路径 Linker---Advanced----Impor