`
zhsq_java
  • 浏览: 61872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

C++写DLL,delphi调用

阅读更多
VS2008中创建DLL工程

      文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)

      填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

      到这里DLL工程就创建完毕了,下面新建两个文件testDLL.cpp和testDLL.h。



C++ .h 文件

#define DLL_EXPORT __declspec(dllexport) 
extern "C" DLL_EXPORT int MyMinus(int a,int b);



.cpp 文件
// testDLL.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"


#include "testDLL.h"

int MyMinus(int a,int b)
{
 return (a-b);
}




delphi调用代码
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    btn1: TButton;
    lbl4: TLabel;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
const
  TestDll = 'testDLL.dll';
function MyMinus(a:Integer;b:Integer):Integer;cdecl;external TestDll;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  lbl4.Caption := IntToStr(MyMinus(StrToInt(edt1.Text),StrToInt(edt2.Text)));
end;

end.
分享到:
评论

相关推荐

    Delphi调用c++ DLL技术文档

    以下将详细介绍Delphi调用C++ DLL的技术细节、步骤以及需要注意的关键点。 ### 一、基础知识概述 #### 1.1 动态链接库(DLL)简介 动态链接库(Dynamic Link Library,简称DLL)是Windows系统中一种重要的组件形式...

    C++、VB、DELPHI调用DLL示例

    标题 "C++、VB、DELPHI调用DLL示例" 涉及到的是不同编程语言调用动态链接库(DLL)的技术。DLL是一种在Windows操作系统中广泛使用的共享代码库,它允许多个应用程序共享同一段内存空间,从而节省资源并简化程序开发...

    Delphi 几种常见的Dll调用方法l

    - Delphi 和 C++ 之间的 DLL 调用需要注意函数调用约定。Delphi 默认使用 `stdcall`,而 C 使用 `cdecl`。如果不匹配,可能导致调用错误。 - 可以使用 `extern "C"` 或 Delphi 的 `{$APPTYPE CONSOLE}` 来调整调用...

    VC的DLL类导出后,用Delphi调用方法及源码

    3. **Delphi调用C++ DLL**: 在Delphi中,我们首先需要定义一个与VC导出类匹配的接口。这个接口应该包括相同的方法签名,但类型转换可能会有所不同,因为C++和Delphi的数据类型不完全相同。例如,C++的`int`对应于...

    delphi动态调用Dll

    9. **跨语言兼容性**:动态调用DLL使得Delphi程序能够与使用其他语言(如C++、C#或VB.NET)编写的DLL交互,因为这些语言都支持stdcall调用约定。 10. **优化和性能**:虽然动态调用提供了灵活性,但也有性能开销,...

    Delphi调用C++写的dll的例子

    本实例将详细讲解如何利用Delphi调用C++编写的DLL,以实现不同编程语言之间的无缝对接。 首先,我们要了解什么是DLL。DLL(Dynamic Link Library)是微软开发的一种共享库,它包含可由多个程序同时使用的代码和数据...

    Delphi 调用VC DLL

    本篇将深入探讨如何使用Delphi调用由VC(Visual C++)编写的DLL(动态链接库)文件,重点在于参数传递的过程。首先,理解DLL的基本概念是必要的。DLL是一种共享代码的机制,允许多个程序同时使用同一段代码,从而...

    Delphi&C++&Dll.rar

    在IT行业中,跨语言通信是一项常见的任务,而本示例"Delphi&C++&Dll.rar"则演示了如何通过动态链接库(DLL)在Delphi和C++之间实现这种通信。DLL是一种可重用的代码模块,允许多个应用程序共享同一段代码,从而减少...

    C++ Builder调用Delphi的pas文件实例

    本实例探讨了如何在C++ Builder环境中调用Delphi编写的PAS(Pascal)文件,这涉及到接口设计、动态链接库(DLL)的使用以及跨语言的类型映射等关键知识点。 首先,Delphi是一种基于Pascal语言的开发工具,其编译后...

    Qt.VC调用delphi编写的dll lib,详细方法

    在跨平台的软件开发中,有时我们需要将不同编程语言编写的组件集成在一起,例如使用Qt(C++)或Visual C++(VC)调用由Delphi编译的DLL库。Delphi以其强大的面向对象特性及易用性,在创建高效、快速的Windows应用...

    Delphi 调用VC生成的DLL

    6. **Delphi调用DLL**: - 在Delphi中,导入DLL函数后,可以直接像调用本地函数一样调用DLL中的函数,确保参数类型匹配。 - 调用时需注意错误处理,因为DLL函数可能抛出异常或返回错误值。 总结来说,"Delphi ...

    手把手教delphi写你的dll文件

    本文将详细介绍如何使用Delphi编写DLL文件,并提供静态调用DLL的具体步骤和示例代码。此外,还将对比静态调用与动态调用两种方式的不同之处。 #### 二、静态调用DLL的基本原理 静态调用DLL是指在编译时将DLL的信息...

    Delphi7静态动态调用VS2019 C#开发的非托管DLL且整合DLL

    在IT行业中,跨语言通信是常见的需求,本案例聚焦于如何使用Delphi 7静态或动态地调用由VS2019中的C#编译的非托管DLL,并将其整合到DLL项目中。非托管DLL是指不依赖.NET Framework运行时环境的DLL,这使得它可以在不...

    c#调用C++ 的DLL带有CALLback

    ### C#调用C++ DLL带有CALLBACK回调参数的方法 #### 概述 在软件开发过程中,有时我们需要在一种编程语言中调用另一种语言编写的动态链接库(Dynamic Link Library,简称DLL)。这种情况很常见,尤其是在需要利用...

    jni调用c++ delphi中的dll.

    本主题将深入探讨如何通过JNI来调用C++和Delphi中编译生成的DLL动态链接库。 1. **JNI基础** JNI是Java平台的核心组件之一,它为Java应用程序提供了一个桥梁,使其能够与本地代码交互。JNI提供了一系列的函数接口...

    C#调用Delphi dll库文件

    首先,理解基本原理:C#调用DLL主要依赖于P/Invoke(Platform Invoke)特性,这是.NET Framework提供的一种机制,使得托管代码能够调用非托管代码,如WinAPI或由其他语言如C++、Delphi编译的DLL。Delphi DLL的导出...

    delphi 调用vc dll 获取返回数据 mac地址

    本文将深入探讨如何使用Delphi调用VC++编写的DLL(动态链接库)来获取并处理返回的数据,特别是MAC地址这种特定的信息。 首先,我们需要理解DLL的工作原理。DLL是一种可执行代码库,它可以被多个程序同时调用,共享...

    delphi中调用c++的dll操作sqlite

    将sqlite的简单功能(execsql, query)封闭到dll中.可通过标准c函数接口操作. 以前写过一个简单的类.可以供c/c++调用. 现在写了一个dll可以供其它语言环境使用. 代码中预留了其它数据库接口的扩展性.

    C++调用delphi例子代码及说明

    本案例涉及的是C++调用Delphi编写的动态链接库(DLL)的实践,这是一种混合编程技术,旨在利用两种语言的优势。下面将详细阐述这个主题。 首先,Delphi是一种基于Pascal语言的开发工具,以其高效、易读的语法和强大...

    delphi7调用QT5动态库实现HMACSHA

    然后,你可以使用Delphi的Jedi JNI库(Java Native Interface的Delphi版本)或者第三方组件,如madPack,来创建一个接口,使得Delphi能够调用C++编写的Qt5库。 1. 创建Qt5动态库接口: 使用C++ Builder或Qt ...

Global site tag (gtag.js) - Google Analytics