Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ReputationZh
V2EX  ›  Linux

C 语言有没有办法通过在 lib 下放置动态库文件来实现程序功能启用?

  •  
  •   ReputationZh · Nov 6, 2020 · 2827 views
    This topic created in 2016 days ago, the information mentioned may be changed or developed.
    比如说,在 lib 下放置 encryption.so ,程序对文件加密。如果没有这个文件,则直接跳过这部分。
    5 replies    2020-11-09 14:54:16 +08:00
    lcdtyph
        1
    lcdtyph  
       Nov 6, 2020 via iPhone
    dlopen
    ysc3839
        2
    ysc3839  
       Nov 7, 2020
    那不就是个插件系统?
    maxwel1
        3
    maxwel1  
       Nov 7, 2020
    1 楼的方法可以的。代码里去判断有没有这个库,有就打开它然后根据符号找到函数,没有就跳过去。。
    jim9606
        4
    jim9606  
       Nov 8, 2020
    具体点讲吧。
    1. dlopen 加载动态库
    2. dlsym 将库函数绑定至函数指针
    3. 通过函数指针调用库
    4. dlclose 关闭动态库
    ReputationZh
        5
    ReputationZh  
    OP
       Nov 9, 2020 via iPhone
    @lcdtyph 我去试一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2977 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 06:00 · PVG 14:00 · LAX 23:00 · JFK 02:00
    ♥ Do have faith in what you're doing.