大家过年好,不知道这时间发技术问题还有没有人理我。
我们做开发的在各种系统中编译和使用 dll 和 so 文件已经很多了,但是我最近发现自己完全不理解这个东西,以为它自然而然就是这样的,写好了自然能编译,编译完自然能引用,但是现在发现自己对细节完全不清楚,调用过程对我来说完全是个黑箱。
举例来说,一般比如我们在后端实现诸如->操作图片、视频、音频这些解码编码操作时,在同样的内存占用的等级的情况下,我们往往倾向于通过程序“自身”实现这些功能,而不是通过 popen 调用 ffmepg,虽然后者也能达到完全一样的功能,并且系统的 pipe 通常情况下(?)是可靠的。
但是这些所谓的自身实现,往往也不是程序员手写,还是要调用第三方类库,而第三方库中往往出现这种情况,比如你避开了 ffmpeg.exe ,实际上调用的却是 ffmpeg.dll 之类的东西。系统采用 dll 模式而不是进程管理模式这很好理解,不过从开发人员的角度出发,dll 具体来说又有那些好处,让我们抛弃 popen 呢?毕竟后者使用上只需要一行命令而已。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.