我写了一段 win C 控制台程序,需要两个 dll 文件,放在同一个目录下可以正常运行,现在我是想有没有什么办法把这 2 个 dll 包进 c 的代码中。。。。。这样就可以一个文件直接运行,也少了依赖或者误删。 希望大家可以帮我想想,谢谢。
1
t6attack 2017-09-06 18:56:28 +08:00
Enigma Virtual Box
|
2
fengxuejianshi 2017-09-06 19:17:39 +08:00 via iPhone
link
|
3
ragnaroks 2017-09-06 19:17:52 +08:00
除去楼上的打包以外,还可以考虑硬编码 dll 进去,用的时候释放出来
|
4
liberize 2017-09-06 19:21:07 +08:00 via Android
7z 自解压文件
|
5
hezhe 2017-09-06 19:22:12 +08:00 via Android
把他们加入到资源文件,然后引用。
|
6
FanWall 2017-09-06 19:29:56 +08:00 via Android 1
|
7
wdlth 2017-09-06 21:21:30 +08:00
加到资源里面,再放出来用。
|
8
wevsty 2017-09-06 21:23:26 +08:00 1
静态编译不就行了?
|
9
ysc3839 2017-09-06 21:24:06 +08:00 via Android
@FanWall 内存加载 DLL 应该是对用户最友好的方法,不过有可能出现一些问题,建议多测试一下。
|
10
baixiangcpp 2017-09-06 21:28:14 +08:00
静态编译,不要想其他方法了
|
11
4ever911 2017-09-06 22:20:54 +08:00
放到 resource, 然后 load dll from memory, 我以前一个程序防破解就是这样, 加密 dll 保存在 exe 中。
|
12
geelaw 2017-09-06 22:25:52 +08:00 via iPhone
并不是所有的 DLL 都可以合法方便地静态链接,并不是所有的程序都可以很简单改成动态加载 DLL 而不依赖编译器自动搞定这事儿。
正确的思路是使用 iexpress 之类的工具,做一个自解压程序。 |
13
yping 2017-09-06 22:42:31 +08:00
Enigma Virtual Box,还有压缩功能,不妨试试。
|
14
tghgffdgd 2017-09-06 23:19:18 +08:00
我猜你的 2 个 dll 莫非是 msvcrXXX.dll 和 msvcpXXX.dll ?是你就改下静态编译。不是你就考虑自解压打包的方式解决最快。
|