C语言创建动态dll和调用dll(visual studio 2013环境下)
第一部分:创建动态dll库。
1、打开visual studio 创建一个控制台应用程序。
2、选择DLL,空项目。
3、点击源文件,创建一个main.c文件
4、在main.c中写入一个简单的函数,内容如下:
__declspec(dllexport) int mymax(int a,int b){ return a + b; }
5、编译生成。
6、在项目的目录有dll和lib两个生成好的文件。
第二部分:在新建项目中使用dll。
7、新建一个c的控制台应用程序UseDll,把Dll.dll放入Debug目录下。
8、把Dll.lib放入UserDll目录下。
9、在UseDll项目中新建一个源文件use.c,代码如下:
#include<stdio.h> #pragma comment(lib,"Dll.lib") int mymax(int a,int b); int main(){ printf("调用动态dll函数的结果:%d",mymax(5,6)); getchar(); return 0; }
10、运行结果如下
PS:vs2013调试程序时出现“计算机丢失.dll文件”
在VS环境下能够编译成功,但是在运行.exe文件时,出现“计算机丢失xxx.dll文件”的提示的解决方式。
发生这种问题的根本原因在于环境变量的设置上,计算机只会在path下包含的目录里去寻找程序所要运行的.dll文件,若我们所要使用到的.dll文件没有包含在环境变量path中,则会发生错误:计算机丢失xxx.dll文件。
工具/原料
- VS2013或者其他版本
- VTK库或者其他库
方法/步骤
这里以丢失vtkIOPLY-7.0-gd.dll文件为例(主要是关于PCL1.8.0),找到VTK的安装目录下的bin文件夹(包含vtkIOPLY-7.0-gd.dll),我的bin文件夹是在C:\Program Files (x86)\PCL 1.8.0\3rdParty\VTK\bin
将上述目录添加到环境变量Path中,如下图所示
重新开启项目,重新生成解决方案,则问题就会解决
注意事项
这里不仅仅是针对vtkIOPLY-7.0-gd.dll文件,任何丢失.dll文件都可以使用此方式解决
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:C++/STL实现判断平面内两条线段的位置关系代码示例
栏 目:C语言
下一篇:C语言指针详解及用法示例
本文标题:C语言创建动态dll和调用dll(visual studio 2013环境下)
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/1053.html
您可能感兴趣的文章
- 04-02c语言函数调用后清空内存 c语言调用函数删除字符
- 04-02c语言的正则匹配函数 c语言正则表达式函数库
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言中对数函数的表达式 c语言中对数怎么表达
- 04-02c语言用函数写分段 用c语言表示分段函数
- 04-02c语言编写函数冒泡排序 c语言冒泡排序法函数
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段函数
- 04-02C语言中怎么打出三角函数 c语言中怎么打出三角函数的值
- 04-02c语言调用函数求fibo C语言调用函数求阶乘


阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-11ajax实现页面的局部加载
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10C#中split用法实例总结
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文