dll 文件中函数名字规则 写道
extern "C" :用于.cpp文件声明不改编
_stdcall :add变为:_add@8
:add不变
cpp文件没有声明extern "C"
_stdcall :add变为:?add@@YGHHH@Z
:add变为:?add@@YAHHH@Z
调用:
HINSTANCE hInst;
// hInst=LoadLibrary("lib.dll");
// hInst=LoadLibrary("mylib.dll");
hInst=LoadLibrary("mylib1.dll");
// typedef int ( _stdcall *ADDPROC)(int a, int b);
// typedef int ( _stdcall *ADDPROC)(int a, int b);
typedef int ( *ADDPROC)(int a, int b);
// ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"_add@8");
// ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"_Java_com_ldq_ExJNI_add@16");
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"?add@@YAHHH@Z");
// ADDPROC Add=(ADDPROC)GetProcAddress(hInst,MAKEINTRESOURCE(1));
k=Add(i,j);
代码:lib1.c
_declspec (dllexport) int _stdcall add(int i, int j)
{
return i+j;
}
命令:cl /LD lib1.c
生成:lib1.dll
命令:dumpbin -exports lib1.dll
函数名:_add@8
代码:lib2.c
_declspec (dllexport) int add(int i, int j)
{
return i+j;
}
命令:cl /LD lib2.c
生成:lib2.dll
命令:dumpbin -exports lib2.dll
函数名:add
代码:lib1.cpp
_declspec (dllexport) int _stdcall add(int i, int j)
{
return i+j;
}
命令:cl /LD lib1.cpp
生成:lib1.dll
命令:dumpbin -exports lib1.dll
函数名:?add@@YGHHH@Z
代码:lib2.cpp
_declspec (dllexport) int add(int i, int j)
{
return i+j;
}
命令:cl /LD lib2.cpp
生成:lib2.dll
命令:dumpbin -exports lib2.dll
函数名:?add@@YAHHH@Z
代码:lib3.cpp
extern "C" _declspec (dllexport) int _stdcall add(int i, int j)
{
return i+j;
}
命令:cl /LD lib3.cpp
生成:lib3.dll
命令:dumpbin -exports lib3.dll
函数名:_add@8
代码:lib4.cpp
extern "C" _declspec (dllexport) int add(int i, int j)
{
return i+j;
}
命令:cl /LD lib4.cpp
生成:lib4.dll
命令:dumpbin -exports lib4.dll
函数名:add
分享到:
相关推荐
除了基础的查看功能,一些高级的DLL文件函数查看器可能还具备其他实用特性,如导出函数到文本文件、对比不同版本DLL的函数差异、生成函数调用图等。这些高级功能有助于提升开发效率,增强对DLL的理解。 总的来说,...
7. **编译与测试**:完成设计后,编译VI生成DLL文件。可以使用LabVIEW自带的测试VI或编写一个简单的调用程序进行测试,确保DLL的功能正确无误。 8. **调用DLL**:在其他编程环境中,如C#或VB.NET,需要使用相应的...
下面我们将详细探讨如何在VS2010中使用VB.NET生成DLL文件以及如何调用这个DLL。 **生成DLL文件的步骤:** 1. **创建新项目**:启动Visual Studio 2010,选择"文件" > "新建" > "项目"。在项目模板中,选择"Visual ...
本篇文章将详细介绍如何使用`def`文件在Win32命令行环境下创建DLL文件,主要针对C语言编程。 首先,`def`文件是一种特殊的文本文件,用于定义DLL的导出函数、版本信息和其他特性。在创建DLL时,`def`文件是不可或缺...
概括来说, 要把Qt程序做成dll,刚开始可以像做一般应用程序一样实现你程序的所有功能,然后再做一个接口就OK了。...把pro文件里面的app改成lib,这样之后就能生成Dll文件了。 3、具体实现方法在我的实例里面有。
DLL文件函数提取器是一个工具,专门用于查看和提取DLL文件中的函数,使得开发者无需了解DLL内部实现细节,就能直接调用所需的函数。 DLL文件的主要作用在于代码复用和节省系统资源。通过将常用功能封装到DLL中,多...
DLL2PAS是一款专为Delphi开发者设计的实用工具,它可以自动分析DLL文件,并生成相应的PAS源代码,使得开发者能够方便地在Delphi程序中导入和使用DLL中的功能。这个过程通常包括以下几个关键步骤: 1. 分析DLL:DLL2...
下面将详细解释如何在C#中生成DLL文件以及相关的知识点。 1. **项目类型选择** 创建DLL文件首先要创建一个类库项目。在Visual Studio中,可以选择"新建项目",然后在模板列表中找到"C# 类库"或"C# .NET Core 类库...
在LabVIEW中生成DLL文件,可以使得非LabVIEW程序调用LabVIEW编写的函数,实现跨平台的数据处理或功能扩展。 生成DLL文件的过程主要分为以下几个步骤: 1. **创建VI(Virtual Instrument)** 首先,打开LabVIEW并...
在Visual Studio 2008(VS2008)中,创建和生成DLL文件是一项基本操作,适用于开发自定义组件、库或共享代码。以下是一个详细的步骤指南,教你如何在VS2008中生成DLL文件。 1. **新建项目**: - 打开Visual Studio...
在VB6(Visual Basic 6...总结来说,VB6生成DLL的关键在于创建ActiveX DLL项目,编写公共函数,编译生成DLL文件,然后在其他项目中添加引用并调用这些函数。熟练掌握这一技术对于提升软件开发效率和代码质量至关重要。
在本文中,我们将深入探讨如何生成DLL文件,并了解其基本使用方法。 首先,生成DLL文件主要通过编程语言实现,如C++、C#等。以C++为例,我们需要创建一个新的项目,并选择“动态库”(DLL)作为项目的类型。在项目...
.NET 编译生成 DLL 文件是一种常见的开发场景,尤其在创建可复用组件时尤为重要。DLL(动态链接库)文件通常用于封装一组功能相关的类或函数,供其他应用程序调用。在 .NET 开发环境中,可以通过多种方式来创建 DLL ...
在某些情况下,开发者可能需要从已有的DLL文件生成相应的LIB文件,以便在不直接引用DLL的情况下进行编译和链接。这就是"由DLL文件生成LIB文件的工具"的主题所在。 `GenLibByDll.exe`是一个这样的工具,它能够帮助...
- 导入库:当生成DLL时,VS也会创建一个导入库(.lib),它包含了调用DLL所需的信息。 在其他项目中使用这些库,你需要: 1. 将生成的LIB文件添加到项目的“链接器”设置中,作为附加依赖项。 2. 对于DLL,还需要...
生成DLL文件在Delphi中主要涉及以下几个步骤: 1. **创建新工程**:在Delphi中,选择“新建”>“项目”,然后选择“动态链接库(DLL)”模板。这将创建一个新的DLL工程,包含一个默认的单元文件。 2. **定义导出...
本文将详细介绍如何使用MATLAB 2009b生成DLL文件,并使用VC++ 2008进行调用。 #### 二、实验环境配置 **操作系统:** Win7 **MATLAB 版本:** 2009b (安装路径: E:\Program Files\MATLAB\R2009a) **VC++ 版本:** ...
本工具是一款Delphi开发辅助工具,它可以帮助开发人员把一些常用的工具封装于Dll文件之中,开发人员做的仅仅是选择所需函数=>生成源码=>编译工程文件生成DLL=>在自己的程序中uses即可.现在还属内部测试阶段,请不要用于...
3. 编译项目生成DLL文件,如`myFun.dll`,确保选择与LabVIEW和VeriStand相匹配的架构(32位或64位)。 4. 在LabVIEW中,使用`未命名 1.vi`或其他适当的VI,通过引用DLL调用`myFun`函数。 5. 运行LabVIEW VI,测试...
4. **编译和生成DLL**:保存VI后,编译项目生成DLL文件。LabVIEW将自动处理函数导出和相关的C头文件,这些文件将用于VB中的函数声明。 接下来,我们将探讨如何在VB中调用LabVIEW生成的DLL: 1. **导入DLL**:在VB...