c/cpp的exe转为dll、dll转为exe的一种简单方案

需求

开发环境:win、vs
开发语言:cpp
采用第三方的7zip解压缩算法库,作为动态库来调用。

问题和解决方案

在网络上找到的是7zip exe程序源码。
7zip dll的编译方法、dll接口一时没找到。
7zip exe的命令行解释很详细,试用测试也没问题。

exe转dll的简单方案就是:
直接写一个函数接口作为dll的基础接口,参数只有一个:const wchar_t *cmd_line_7zip
此参数等价于exe main函数的参数:int numArgs, char *args[]
在原有的main函数中,把cmd_line_7zip拆开,赋值给numArgs、args。

反过来,dll转exe:
根据int numArgs, char *args[]形成不同分支调用不同的dll函数接口。

其它

实际使用中,7zip作为dll调用会导致进程内存不足(压缩参数选用比较耗内存的方案),改用进程调用更好。

你可能感兴趣的:(cpp,cpp,dll,exe,接口转换)