怎么能把需要的 dll 打包进程序? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bao3
V2EX    C

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

  •  
  •   bao3 2017-09-06 18:54:38 +08:00 3058 次点击
    这是一个创建于 2976 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    正确的思路是使用 iexpress 之类的工具,做一个自解压程序。
    yping
        13
    yping  
       2017-09-06 22:42:31 +08:00
    Enigma Virtual Box,还有压缩功能,不妨试试。
    tghgffdgd
        14
    tghgffdgd  
       2017-09-06 23:19:18 +08:00
    我猜你的 2 个 dll 莫非是 msvcrXXX.dll 和 msvcpXXX.dll ?是你就改下静态编译。不是你就考虑自解压打包的方式解决最快。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1612 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 16:26 PVG 00:26 LAX 09:26 JFK 12:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86