VS2008生产动态库、静态库调用案例
创始人
2024-05-31 14:11:38
0

静态库

创建静态库

  1. 打开VS2008创建项目如下:

  1. 选择静态库

  1. 创建文件

// add.h
#ifndef _ADD_H_
#define _ADD_H_#include #ifdef __cplusplus
extern "C" {
#endif__declspec(dllexport)  int myAdd(int a, int b);#ifdef __cplusplus
}
#endif#endif
// add.cpp
# include "add.h"int myAdd(int a, int b){printf("调用自己的---静---态库函数!\n");return a + b;
}
  1. 编译生成静态库

静态库调用

配置调用

  1. 新创建一个WIN32的控制台程序,将上面生产的libadd.lib库跟add.h拷贝到新创建的项目目录下

  1. 新建项目添加头文件目录

  1. 添加静态库引用目录

  1. 添加静态库引用

  1. 编译运行测试

函数调用

将配置调用的第3、4步去掉,调用#pragma comment(lib, "库路径")函数调用库函数

动态库

创建动态库

  1. 跟创建静态库步骤基本一致,创建时选项选择DLL

  1. 代码跟静态库代码一致,打印稍作区分,将“静”改为“动”

  1. 编译运行生成动态库

动态库调用

配置调用

  1. 新创建一个WIN32的控制台程序,将上面生产的dlladd.lib、dlladd.dll库跟add.h拷贝到新创建的项目目录下(dlladd.lib、dlladd.dll拷贝到lib下)

  1. 跟静态库的配置基本一样

  1. 编译和运行

  1. 这是因为运行时找不到动态库,将动态库拷贝到exe生成的目录下

函数调用

函数调用链接器下面两个地方的配置是不需要的,但引用目录需要配置

main函数代码如下

#include 
#include "add.h"
typedef int (* ptrfunc)(int a, int b);int main() {ptrfunc addFun;HINSTANCE hDll = LoadLibrary(L"G:\\libProject\\test_main\\lib\\dlladd.dll"); if(hDll == NULL) {printf("LoadLibrary return error : %d\n", (int)GetLastError());return -1;}addFun = (ptrfunc)GetProcAddress(hDll, "myAdd");if (addFun == NULL){printf("GetProcAddress return error : %d\n", (int)GetLastError());}int result = addFun(2, 3);printf("2 + 3 = %d\n", result);FreeLibrary(hDll);return 0;
}

编译和运行

相关内容

热门资讯

安卓系统对比骁龙,性能与生态的... 你有没有想过,为什么你的手机里装的是安卓系统,而不是苹果的iOS呢?又或者,为什么你的安卓手机里搭载...
qt程序安卓系统运行,基于Qt... 你有没有想过,为什么有些手机上的程序运行得那么顺畅,而有些却总是卡得让人抓狂?今天,就让我来给你揭秘...
安卓系统免费应用推荐,助你畅享... 手机里的应用是不是越来越多,有时候都挑花眼了呢?别急,今天我就来给你推荐一些安卓系统上的免费应用,让...
安卓系统视频通话app,打造无... 你有没有发现,现在手机上的视频通话功能越来越强大了?尤其是安卓系统上的那些视频通话app,简直让人爱...
安卓系统发现高危病毒,守护手机... 亲爱的手机用户们,最近可是有个大消息在安卓系统用户群里炸开了锅!没错,就是安卓系统发现了一款高危病毒...
安卓系统疯狂弹广告,揭秘广告软... 你有没有遇到过这种情况?手机里突然弹出一个广告,让你瞬间心情大崩溃?没错,说的就是安卓系统那让人头疼...
ebook 10进入安卓系统 你有没有发现,最近你的安卓手机里多了一个新伙伴——那就是电子书(ebook)10!没错,就是那个我们...
安卓系统如何调听筒,安卓系统调... 手机听筒声音突然变小了?别急,让我来教你如何轻松调教安卓系统的听筒,让它重新恢复活力!一、检查音量设...
安卓系统是怎么手机,解锁智能生... 你有没有想过,我们每天不离手的安卓手机,它背后的安卓系统究竟是怎么一回事呢?今天,就让我带你一探究竟...
安卓系统能代替windows系... 你有没有想过,我们日常使用的安卓系统和Windows系统,哪个才是真正的霸主呢?是不是有时候觉得安卓...
lp108安卓系统,功能特点与... 你有没有听说最近LP108安卓系统火得一塌糊涂?没错,就是那个让无数手机用户都为之疯狂的新系统!今天...
安卓系统挂载u盘,轻松实现数据... 你有没有想过,你的安卓手机或平板电脑突然变成了一个移动的U盘?没错,就是那种可以随意存取文件的神奇设...
i5 安卓系统,引领智能终端新... 你有没有想过,为什么你的手机总是卡得要命,而别人的手机却能流畅如丝?是不是因为你的手机搭载了那个传说...
安卓手机系统没有升级,揭秘潜在... 你有没有发现,你的安卓手机系统好像好久没升级了呢?是不是觉得有点out了?别急,今天就来给你详细聊聊...
安卓14系统定制v,创新功能与... 你知道吗?最近安卓系统又出新花样了!安卓14系统定制版V,这名字听起来就让人兴奋不已。今天,就让我带...
手机安卓系统越高越好,探索最新... 你有没有发现,每次手机更新系统,你的手机就像脱胎换骨了一样?没错,说的就是你,那个安卓手机!今天,咱...
鸿蒙系统怎么用回安卓,轻松实现... 你是不是也和我一样,对鸿蒙系统的新鲜感还没过,却又忍不住想回到熟悉的安卓世界?别急,今天就来手把手教...
苹果7跟安卓系统,性能对决与用... 你有没有想过,为什么苹果7那么受欢迎,而安卓系统却有着庞大的用户群体?今天,我们就来聊聊这个话题,看...
安卓手机刷简化系统,轻松实现流... 你有没有想过,你的安卓手机其实可以变得更加轻快、流畅呢?没错,就是通过刷简化系统!今天,就让我带你一...
社保掌上通安卓系统,轻松掌握在... 你有没有发现,现在的生活越来越离不开手机了?无论是购物、聊天还是办公,手机都能轻松搞定。这不,今天就...