DLL文件的引用

  首先我们先要写一个DLL文件:

    我先创建一个win32的DLL工程,在工程中添加了Math.h和Math.cpp文件,具体内容如下:

Math.h:

#pragma once
#include "stdafx.h"

#ifdef API_EXPORT
#define DLL_EXPORT _declspec(dllexport)
#else
#define DLL_EXPORT _declspec(dllimport)
#endif

DLL_EXPORT int Add(int x, int y);

class DLL_EXPORT CMath {
public:
    int Sub(int x, int y);
};

Math.cpp:

#include "StdAfx.h"
#define API_EXPORT
#include "Math.h"

int Add(int x, int y) {
    return x+y;
}

int CMath::Sub(int x, int y) {
    return x-y;
}

简单的解释:

          

              

  现在我们创建一个win32工程,接着引用我们写好的DLL文件:

使用示例:

#include "stdafx.h"
#include "..\\DllUsage\Math.h"
#pragma comment(lib, "..\\DllTest.lib")

int _tmain(int argc, _TCHAR* argv[])
{
    CMath math;
    int a = math.Sub(7, 3);
    int sum = Add(4, 5);
    printf("%d %d\n", sum, a);
    getchar();
    return 0;
}

  必须注意的是下面几点:

  1.引入文件

          

  2.放置好你的DLL位置

    进入Debug文件夹中放置好你的DLL文件

          

            

时间: 2024-12-11 13:34:08

DLL文件的引用的相关文章

vs2010生成Dll文件并引用dll(C#)

1.创建新C#控制台应用程序,项目命名createBll,打开Program.cs重命名为TestA(可以不重命名)并修改代码,如图: 写好后,可以写其它的类.cs文件 2.完成后,点击菜单栏的“项目”,下拉单选择“createDll属性”,打开如图窗口 在输出类型选择“类库”,然后关掉该窗口,生成解决方案,即生成了creatBll.dll文件,在项目下createBll\createBll\bin\Debug\createBll.dll目录下. 3.引用Dll文件,新建项目referenceD

实战基础技能(15)--------dll文件已经引用,但using找不到命名空间

一:问题截图 二:解决办法 1.没看到lz的代码中有Vancl.Server的dll. 2.确实有编译不过的问题,是Vancl.WindowsServices这个工程的target framework设置为.Net Framework 4 Client Profile,修改为.Net Framework 4即可解决大部分的编译问题. 3.IServer.cs中的IServer接口应该声明为public,否则有编译问题.

C#.NET常见问题(FAQ)-如何引用定义好的dll文件

1 添加引用,找到dll文件 ? 2 引用类的名称空间,生成类的实例,调用类的方法,测试OK. ? ? 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 ? 我的在线论坛: http://csrobot.gz01.bdysite.com/ ? 问题交流: QQ:910358960 邮箱:[email protected] ? ? ?

C#中 dll文件放在子目录中的方法

VS2012-C# dll文件直接放在程序根目录中(和exe文件一起)比较乱,可以将dll文件放在子文件夹中.步骤如下: 1.将dll文件放入子文件夹 2.添加引用 解决方案资源管理器中,中 工程名或者“引用”上右键,选中添加引用. 中引用管理器中,点击浏览,选中子文件夹中的dll文件. 3.修改dll文件的引用属性 点击添加成功的引用,将“复制本地”改成false(不然程序运行的时候会将子文件夹下的dll文件复制到根目录中). 4.添加引用的地址,修改config文件 在根目录中打开“软件名.

做自己的类库dll文件

除了在项目中把类放在不同的文件夹之外,还可以把他们放在完全不同的项目中,添加引用dll 实现对类的调用, 如果一个项目只包含类 但没有入口点 ,那么这个项目叫做类库. 类库项目编译为.dll程序集.(直接生成解决方案即可). 步骤: 1,解决方案添加新项目 类库项目. 2. 注意需要能够对外引用类的话 默认的为public  如果声明范围为internal的话 对外无法调用,只能供内部访问(内部类). 3. 然后写自己需要的各种公共方法. 4. 实现其他项目调用时显示注释:菜单 Project 

C#中用ILMerge将所有引用的DLL打成一个DLL文件

C#中用ILMerge将所有引用的DLL打成一个DLL文件 有些文件是必须一起使用的,如果能把多个DLL打包成一个DLL文件,那么引用文件的时候就不需要一个个地去引用,而且每次移动文件的时候也不至于少了哪个必须的DLL文件. 多个DLL文件打包成一个DLL文件的方法如下:1.先到下面的网址下载ILMerge安装 http://www.microsoft.com/en-us/download/details.aspx?id=17630 2.安装完之后,执行cmd命令,进入ILMerge目录, 把t

关于vs2012解决方案中项目DLL文件引用问题

今天用vs2012建了项目框架,老是出现说解决方案中的项目dll文件不存在,但是我按照路径去找是可以找到这个文件的,也就是说这个文件存在的.我按照引用顺序单个编译每个项目都是成功的,就是当我编译整个解决方案的时候就会报某个项目的dll文件不存在.但是我运行时可以运行的.这种问题还是我第一遇到过.我当时就在想是不是我的项目中出现循环引用了啊,因为这种错误一般情况下是不会出现的,我检查了一下项目架构,的确没有这种低级错误. 出现这种现象后来我想了一会,首先就是出现这样的原因肯定是项目在编译时先后顺序

VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 <转>

昨天写了一个很小的winform程序,其中引用了自己写的两个dll文件. 本来认为轻松搞定,结果一编译居然提示:未能找到类型或命名空间名称..... 于是删掉两个dll重新引用,再编译结果依旧!很是郁闷. 后来经过调查,终于发现了解决方法: 在项目上点右键-->属性-->应用程序-->目标框架-->修改为.NET Framework 4. 而我原来的设置是.NET Framework 4 Client Profile.问题就出在这里. 以下是MSDN给出的提示: If you ar

引用动态链接库Dll文件 引用失败 未能添加对HD.dll的引用。请确保此文件可访问并且是一个有效的程序集或COM组件

出现这个问题,是由于使用了非.NET 的动态链接库,需要注册 方法如下: 1.在搜索程序和文件中使用 regsvr32 "D:\Projects\8.01.01.03-重庆大足\lib\ValidateServerRelease32.dll" 命令就可以了 引用动态链接库Dll文件 引用失败 未能添加对HD.dll的引用.请确保此文件可访问并且是一个有效的程序集或COM组件