windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件

这篇具有很好参考价值的文章主要介绍了windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件。

#include <iostream>
#include <Windows.h>

int main()
{
    char path[MAX_PATH]{};

    GetCurrentDirectoryA(sizeof(path), path);
    HMODULE lib = LoadLibraryA("testdll.dll");
    int rmret = remove("testdll.dll");
    std::cout << "remove ret=" << rmret << "," << path << "," << GetLastError() << std::endl;
    auto func = (const char*(*)())GetProcAddress(lib, "test1");
    std::cout << "Hello World!\n" << func() << std::endl;
    return 0;
}

运行结果:文章来源地址https://www.toymoban.com/news/detail-645826.html

remove ret=-1,C:\Users\Administrator\source\repos\testdll\ConsoleApplication1,2
Hello World!
0.1.0

到了这里,关于windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux基础】库文件

    (꒪ꇴ꒪ ),hello我是 祐言 博客主页:C语言基础,Linux基础,软件配置领域博主🌍 快上🚘,一起学习! 送给读者的一句鸡汤🤔: 集中起来的意志可以击穿顽石! 作者水平很有限,如果发现错误,可在评论区指正,感谢🙏 ​​         在Linux系统中,库文件(Library files)是一

    2024年02月16日
    浏览(46)
  • 【实用技巧】更改ArduinoIDE默认库文件位置,解放系统盘,将Arduino15中的库文件移动到其他磁盘

    本文主要介绍更改Arduino IDE (含2.0以上版本)默认库文件位置的方法。  原创文章,转载请注明出处: 【实用技巧】更改ArduinoIDE默认库文件位置,解放C盘,将Arduino15中的库文件移动到其他磁盘-CSDN博客 文章浏览阅读185次。本文主要介绍更改Arduino IDE (含2.0以上版本)默认库

    2024年02月03日
    浏览(63)
  • C标准库文件&常用函数

    编号 头文件 C标准版本 介绍 1 assert.h C89/C90 条件编译宏,将参数与零比较 2 ctype.h C89/C90 用来确定包含于字符数据中的类型的函数 3 errno.h C89/C90 报告错误条件的宏 4 float.h C89/C90 浮点数类型的极限 5 limits.h C89/C90 基本类型的大小 6 locale.h C89/C90 本地化工具 7 math.h C89/C90 常用数据函

    2024年02月12日
    浏览(45)
  • C++有哪些常用的库文件

    常用库文件: iostream:  输入输出流库,包含cin、cout、cerr等标准输入输出对象。 string : 字符串库,包含字符串类型std::string及相关操作函数。 vector : 动态数组库,包含vector类型及相关操作函数。 map:  字典库,包含map、multimap、set、multiset等关联容器类型及相关操作函数。 algorithm

    2024年02月02日
    浏览(42)
  • 7-LINUX--库文件的生成与使用

    库是一组预先编译好的方法的集合。Linux系统存储的库的位置一般在:/lib 和 /usr/lib。 在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在 /usr/include 下或其子目录下。 库有两种,一种是静态库,其命令规则为 libxxx.a,一种是共享库,其命令规则为

    2024年03月16日
    浏览(45)
  • linux下头文件及库文件搜索路径知识汇总

    跟gcc相关的搜索目录: 安装gcc时,如果有指定prefix的话,那么系统的默认搜索路径为: C_INCLUDE_PATH:编译 C 程序的时候使用的环境变量 CPLUS_INCLUDE_PATH:编译 C++ 程序的时候使用的环境变量 CPATH:编译 C、 C++及Objective-C 程序时使用的环境变量 OBJC_INCLUDE_PATH:编译 Objective-C 程序

    2023年04月27日
    浏览(39)
  • 现代CMake高级教程 - 第 3 章:链接库文件

    双笙子佯谬老师的【公开课】现代CMake高级教程课程笔记 main.cpp 调用 mylib.cpp 里的 say_hello 函数 1. 直接链接到一起编译 2. mylib 作为一个静态库 编译: 生成了 libmylib.a: 3. mylib 作为一个动态库 编译: 4. mylib 作为一个对象库 对象库类似于静态库,但不生成 .a 文件,只由 CMake

    2024年02月02日
    浏览(41)
  • 第十二部分 使用 make 更新函数库文件

    目录 前言  一、函数库文件的成员 二、函数库成员的隐含规则 三、函数库文件的后缀规则 四、注意事项         函数库文件也就是对 Object 文件(程序编译的中间文件)的打包文件。在 Unix 下,一 般是由命令\\\"ar\\\"来完成打包工作。         一个函数库文件由多个文件

    2024年01月20日
    浏览(44)
  • openssl缺少libssl.so.1.1库文件

    这是由于openssl库的位置不正确造成的,一般出现在openssl源码升级场景下。 源码编译完成后,需要对libssl.so.1.1做一个软连接,从openssl源码安装目录/usr/local/openssl/lib/下面将编译好的libssl.so.1.1进行软连接。

    2024年01月21日
    浏览(45)
  • Python3: 扫描库文件并获取版本号信息

    在 C/C++ 开发中使用了第三方库,具体说是 .a , .lib , .dll 等文件,想通过 Python 查询出这些文件中的版本号信息。 有人可能好奇,这里简单消除可能得疑虑: 为什么不用源代码,而用库? 因为库文件提供了良好的 隔离性 ,避免了繁杂的编译选项指定, 避免了潜在的不小心改

    2024年02月05日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包