VS2008生成DLL并使用
1.创建工程


2.在工程中添加类,创建.h和.cpp文件
//.h代码
/**
请注意此代码方法声明中的 __declspec(dllexport) 修饰符。
这些修饰符使 DLL 能够导出该方法以供其他应用程序使用。
*/
namespace MathFuncs
{
class MyMathFuncs
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b); // Returns a - b
static __declspec(dllexport) double Subtract(double a, double b); // Returns a * b
static __declspec(dllexport) double Multiply(double a, double b); // Returns a / b
// Throws DivideByZeroException if b is 0
static __declspec(dllexport) double Divide(double a, double b);
};
}
//.cpp代码
// MathFuncsDll.cpp
// compile with: /EHsc /LD #include "MathFuncsDll.h" #include <stdexcept>
using namespace std; namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b;
} double MyMathFuncs::Subtract(double a, double b)
{
return a - b;
} double MyMathFuncs::Multiply(double a, double b)
{
return a * b;
} double MyMathFuncs::Divide(double a, double b)
{
if (b == )
{
throw new invalid_argument("b cannot be zero!");
} return a / b;
}
}
3.生成解决方案
4.使用生成的DLL
创建一个一般的win32工程,生成一个main.cpp文件并输入如下代码:
#include "MathFunsDll.h"
#include<iostream>
using namespace std; int main()
{
cout<<MathFuncs::myMathFun::Add(1.1,2.2)<<endl;
return ;
}
5.设置该工程的属性
将之前生成的lib,dll和.h文件提出来放到一个文件夹(我放在桌面的temp文件其路径为C:\Users\LC\Desktop\temp)
设置属性:项目-->属性-->c/c++-->常规-->附加包含目录中输入:C:\Users\LC\Desktop\temp
项目-->属性-->连接器-->常规-->附加库目录:C:\Users\LC\Desktop\temp
项目-->属性-->连接器-->输入-->附加依赖项:Test.lib
属性设置完毕,可以运行程序了。
VS2008生成DLL并使用的更多相关文章
- Qt Creator调用VS2008生成的DLL注意事项 good
问题:生成的dll文件QT无法静态/隐式调用 分析:调用的lib库可能是msvc编译的,而我用Qt调用,Qt默认编译器是minGW,两种编译器生成的函数名不一样,所以调用的时候你要用哪个函数,编译结果 ...
- VS2008 工程只生成dll不生成lib的解决方案
http://topic.csdn.net/u/20081216/22/b12d1450-7585-4c9f-867a-7c181737c328.html 问题:vs2008版本的,不知道为什么只生成 ...
- .NET在VS2008中生成DLL并调用
1.生成DLL 打开VS2008 - >新建->项目->类库->ClassLibrary1,在ClassLibrary1中会自动创建一个Class1类 class1中加入代码如 ...
- VS2008下WinRar源码生成dll和 lib总结
WinRar官方提供了源码(http://www.rarlab.com/rar_add.htm):如果自己想要修改里面的内容就要重新生成DLL和LIB,我在网上找了很多资料都没有说得很清楚.花一两天的 ...
- 使用VS2012生成DLL文件 (1)
一:生成DLL 1:创建DLL工程 文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以) 填写项目名称MyDLL ...
- JNI中使用cl命令生成DLL文件
问题描述: 在使用JNI调用DLL时,首先需要生成DLL文件 问题解决: (1)现在使用VS2008的cl.exe程序,生成DLL文件 (1.1)cl.exe环境搭建 注: cl. ...
- 使用VS2012生成DLL文件(1)
文章转载自:1. http://blog.sina.com.cn/s/blog_45bcb4c3010140b3.html 一:生成DLL 1:创建DLL工程 文件->新建->项目-> ...
- C# 怎么生成DLL文件(转)
有两种方法: 但是一般这个使用 打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)-& ...
- C# 调用WebService的3种方式 :直接调用、根据wsdl生成webservice的.cs文件及生成dll调用、动态调用
1.直接调用 已知webservice路径,则可以直接 添加服务引用--高级--添加web引用 直接输入webservice URL.这个比较常见也很简单 即有完整的webservice文件目录如下图 ...
随机推荐
- Count Color 线段树
Count Color Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- NOIP2017SummerTraining0714
个人感受:第一题做了字典树,还运行错误,然后就弃疗了,然后水了二三两题,总共拿了85分,倒数. 正确答案 时间限制: 2 Sec 内存限制: 256 MB提交: 702 解决: 82[提交][状态 ...
- 安卓App提交应用商店时遇到的两个小问题
陆陆续续做了一个半月左右的「喵呜天气」终于在今天下午成功提交到应用商店(腾讯应用宝).期间遇到两个小问题,记录如下: 1.上传安装包失败,提示「无法获取签名信息,请上传有效包(110506)」. 安装 ...
- Docker入门之七Dockerfile
Dockerfile是一个文本格式的配置文本,可以使用它来创建自定义的镜像.首先我们可以先看一个dockerfile是什么样子.这里可以有一个网站不错:http://dockerfile.github ...
- php正则匹配utf-8编码的中文汉字
在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { a ...
- C语言程序设计第一作业
C语言程序设计第一作业 实验总结 (一) 1.题目:输入圆的半径,求圆周长和面积 2.流程图: 3.测试数据及运行结果: 4.实验分析: 问题1: 出现了错误 原因:是在赋值那写反了 解决方法:应该是 ...
- Parallel.Invoke 并行的使用
Parallel类 在System.Threading.Tasks 命名空间下 下面有几个方法,这里讲一下Invoke的用法 下面我们定义几个方法方便测试 先自定义Response 防止并行的时候占 ...
- Elasticsearch分片、副本与路由(shard replica routing)
本文讲述,如何理解Elasticsearch的分片.副本和路由策略. 1.预备知识 1)分片(shard) Elasticsearch集群允许系统存储的数据量超过单机容量,实现这一目标引入分片策略sh ...
- 通信技术:SSE设计方案(一)--- 前端Server-Sent Events概念讲解和基础类库完善发布
好了,开篇还是要扯扯的,否则感觉这个技术讲的么有那么冻人,嗯,这个晚上是有点冷了,秋衣秋裤大家都该加起来了,反正我不帮你买,妹子除外,嘻嘻. 之前几篇博客,研究前端通信技术的第一层ajax技术,从最基 ...
- ctp交易平台转java接口转换
首先感谢倪材@csdn的博客,给了我很大帮助. http://blog.csdn.net/pjjing/article/details/53186394 http://blog.csdn.net/pj ...