bao3
V2EX  ›  C

怎么能把需要的 dll 打包进程序?

  •  
  •   bao3 · Sep 6, 2017 · 3360 views
    This topic created in 3199 days ago, the information mentioned may be changed or developed.

    我写了一段 win C 控制台程序,需要两个 dll 文件,放在同一个目录下可以正常运行,现在我是想有没有什么办法把这 2 个 dll 包进 c 的代码中。。。。。这样就可以一个文件直接运行,也少了依赖或者误删。 希望大家可以帮我想想,谢谢。

    14 replies    2017-09-06 23:19:18 +08:00
    t6attack
        1
    t6attack  
       Sep 6, 2017
    Enigma Virtual Box
    fengxuejianshi
        2
    fengxuejianshi  
       Sep 6, 2017 via iPhone
    link
    ragnaroks
        3
    ragnaroks  
       Sep 6, 2017
    除去楼上的打包以外,还可以考虑硬编码 dll 进去,用的时候释放出来
    liberize
        4
    liberize  
       Sep 6, 2017 via Android
    7z 自解压文件
    hezhe
        5
    hezhe  
       Sep 6, 2017 via Android
    把他们加入到资源文件,然后引用。
    FanWall
        6
    FanWall  
       Sep 6, 2017 via Android   ❤️ 1
    wdlth
        7
    wdlth  
       Sep 6, 2017
    加到资源里面,再放出来用。
    wevsty
        8
    wevsty  
       Sep 6, 2017   ❤️ 1
    静态编译不就行了?
    ysc3839
        9
    ysc3839  
       Sep 6, 2017 via Android
    @FanWall 内存加载 DLL 应该是对用户最友好的方法,不过有可能出现一些问题,建议多测试一下。
    baixiangcpp
        10
    baixiangcpp  
       Sep 6, 2017
    静态编译,不要想其他方法了
    hihihihihi
        11
    hihihihihi  
       Sep 6, 2017
    放到 resource, 然后 load dll from memory, 我以前一个程序防破解就是这样, 加密 dll 保存在 exe 中。
    geelaw
        12
    geelaw  
       Sep 6, 2017 via iPhone
    并不是所有的 DLL 都可以合法方便地静态链接,并不是所有的程序都可以很简单改成动态加载 DLL 而不依赖编译器自动搞定这事儿。

    正确的思路是使用 iexpress 之类的工具,做一个自解压程序。
    KvZ517
        13
    KvZ517  
       Sep 6, 2017
    Enigma Virtual Box,还有压缩功能,不妨试试。
    tghgffdgd
        14
    tghgffdgd  
       Sep 6, 2017
    我猜你的 2 个 dll 莫非是 msvcrXXX.dll 和 msvcpXXX.dll ?是你就改下静态编译。不是你就考虑自解压打包的方式解决最快。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   901 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 21:48 · PVG 05:48 · LAX 14:48 · JFK 17:48
    ♥ Do have faith in what you're doing.