C语言创建动态dll和调用dll(visual studio 2013环境下)

 更新时间:2017年11月10日 09:51:42   作者:天南韩立  
本篇文章主要介绍了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文件。

工具/原料

  1. VS2013或者其他版本
  2. 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++类成员构造函数和析构函数顺序示例详细讲解

    C++类成员构造函数和析构函数顺序示例详细讲解

    这篇文章主要介绍了C++类成员构造和析构顺序示例,看了这个例子大家就可以明白c++构造析构的奥秘
    2013-11-11
  • 带头结点单链表与不带头结点单链表的区别

    带头结点单链表与不带头结点单链表的区别

    这篇文章主要介绍了带头结点单链表与不带头结点单链表的区别,需要的朋友可以参考下
    2023-07-07
  • C++的get()函数与getline()函数使用详解

    C++的get()函数与getline()函数使用详解

    这篇文章主要介绍了C++的get()函数与getline()函数使用详解,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • Qt实现可以计算大数的简单计算器

    Qt实现可以计算大数的简单计算器

    计算器是我们生活中很常见的东西,它可以由多种语言多种方式来实现。本文主要介绍的是基于C++语言,由QT实现的可以计算大数的简单计算器,需要的可以参考一下
    2022-12-12
  • C++设计模式之策略模式

    C++设计模式之策略模式

    这篇文章主要介绍了C++设计模式之策略模式,本文讲解了什么是策略模式、策略模式的使用场合、策略模式的代码实例等内容,需要的朋友可以参考下
    2014-10-10
  • C语言实现宾馆管理系统课程设计

    C语言实现宾馆管理系统课程设计

    这篇文章主要为大家详细介绍了C语言实现宾馆管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 深入理解Qt 智能指针

    深入理解Qt 智能指针

    智能指针是一种特殊的指针,可以自行管理和释放资源,防止内存泄漏和悬挂指针,本文主要介绍了深入理解Qt 智能指针,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • C++中模板和STL介绍详解

    C++中模板和STL介绍详解

    今天小编就为大家分享一篇关于C++模板和STL的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-09-09
  • 如何利用Matlab绘制出好看的火山图

    如何利用Matlab绘制出好看的火山图

    火山图是散点图的一种,它将统计测试中的统计显著性量度和变化幅度相结合,从而能够帮助快速直观地识别那些变化幅度较大且具有统计学意义的数据点。本文将通过Matlab绘制好看的火山图,需要的可以参考一下
    2022-03-03
  • C++语法中的函数重载和默认参数

    C++语法中的函数重载和默认参数

    这篇文章主要介绍了C++语法中的函数重载和默认参数,本文从语法角度通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论