C语言创建并使用dll
利用C语言创建 利用 C++使用:
参见前面 利用C语言创建并使用lib
如法炮制创建 showDll

Dll代码
__declspec(dllexport)
double myDivision(int a, int b)
{
if (b == ){
return 1.2345678;
}
else{
return a / b;
}
}
创建完成。
现在开始使用的部分://变了一个招,把自己弄进去了我说怎么能输出0呢。。。应该%f输出
新建一个项目:
这样写就可以了
#include <iostream>
#include <windows.h> typedef double(*divFunc)(int a, int b);//定义那个我们要使用的函数 int main(){ HMODULE mydivision = LoadLibrary("showDll.dll");//利用windows的函数,加载我们的DLL,得到一个处理模块儿,我们称它为mydivision,这样起名字其实不好,这是当初根据另外一个csdn得到的所以姑且这么用吧。
divFunc myDivided = (divFunc)GetProcAddress(mydivision, "myDivision");//使用得到处理进程的地址的一个函数,使用,处理模块儿那个对象,然后调用里面这个 名称为myDivision这个函数,然后强制类型转换成我们在开始声明的类型。
if (myDivided == NULL){
printf("null");
}
else {
printf("%f", myDivided(, ));//然后就能够调用了。
} system("pause"); return ; }

参见博文:http://www.jellythink.com/archives/111
C语言创建并使用dll的更多相关文章
- Visual Studio 2019 使用C语言创建动态链接库(Dll)并使用C语言和C#实现调用
参考网址:https://blog.csdn.net/weixin_34976988/article/details/99625533 一.创建DLL1.建立动态链接库项目 2.创建头文件和源文件 删 ...
- 创建一个动态链接库 (DLL),使用VS2010
在本演练中,您将创建一个动态链接库 (DLL),其中包含可供其他应用程序使用的有用例程.使用 DLL 是一种重用代码的绝佳方式.您不必在自己创建的每个程序中重新实现这些例程,而只需对这些例程编写一次, ...
- 在VC中创建并调用DLL
转自:http://express.ruanko.com/ruanko-express_45/technologyexchange6.html 一.DLL简介 1.什么是DLL? 动态链接库英文为DL ...
- 用c语言创建双向环形链表
作为一个C开发人员,无论在求职笔试题中,还是在工程项目中,都会遇到用c语言创建双向环形链表.这个也是理解和使用c指针的一项基本功. #include<...>//头文件省略 typedef ...
- VS---《在VS2010中 使用C++创建和使用DLL》(003)
VS---<在VS2010中 使用C++创建和使用DLL>(003) 这里实现一下,之前写好的一个工程(定义一个函数f + main函数调用),转成DLL.调用DLL测试.在两个工程里,分 ...
- VS---《在VS2010中 使用C++创建和使用DLL》(002)
VS---<在VS2010中 使用C++创建和使用DLL>(002) 前面初认识了创建和调用DLL,在VS工程下可以通过在 同一工程.不同工程 下创建和调用DLL.现在,同一工程下创建和调 ...
- VS---《在VS2010中 使用C++创建和使用DLL》(001)
VS---<在VS2010中 使用C++创建和使用DLL>(001) 需要学习制作和使用动态库,现在知道:DLL调用有两种方式,一种是静态调用,另外一种是动态调用.详细的还不算明白,等后期 ...
- C语言创建文件夹
问题需求:在程序中需要使用文件夹时,一般可以先在程序目录或某一路径下创建一个文件夹,然后使用该文件夹. 这种方法比较麻烦,需提前创建文件夹. 使用C语言创建文件夹的代码可以如下: #include & ...
- C语言创建共享库(动态库)步骤
C语言创建共享库(动态库)步骤: 创建sth.c,共享库源文件: //sth.c库源程序 unsigned long long sth(unsigned int x, unsigned int y) ...
随机推荐
- 10、Android数据存储
课程目标: 掌握Android中数据存储的几种方式 熟练使用PreferenceActivity&PreferenceScreen做专业的Setting功能 熟练使用SQLite3来存储数据 ...
- lightoj 1017
思路:动态规划,设dp[i][j]表示在前j个dusts中用了i刷子刷掉dusts的个数:状态转移方程就是: dp[i][j] = max(dp[i][j-1], dp[i-1][j-len[j]] ...
- Git 基础 - Git Aliases
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global ...
- JDK1.5新特性(五)……Typesafe Enums
援引 Typesafe Enums - This flexible object-oriented enumerated type facility allows you to create enum ...
- NOIP2011 观光公交
3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...
- C#编程中的66个好习惯,你有多少个?(转)
http://www.cnblogs.com/jxsoft/archive/2012/01/11/2318824.html
- leetcode@ [289] Game of Life (Array)
https://leetcode.com/problems/game-of-life/ According to the Wikipedia's article: "The Game of ...
- linux 流量监控
iftop -i p5p1 -n -p dstat -n
- nginx+tomcat+redis负载均衡及session共享
概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...
- DNS服务未响应的简单解决办法
今天晚上下班回家,打开电脑,发现打不开网页了,同一个wifi环境下,我的手机是可以连接上的,网上搜了一大推,又是重启服务,又是重新填写dns服务地址,都不管用, 该怎么办呢??. 其实发现很简单,打开 ...