将Perl编译到WebAssembly:一个充满挑战的旅程

2025-02-11
将Perl编译到WebAssembly:一个充满挑战的旅程

作者在构建一个新的初创公司时,遇到了一个棘手的难题:如何在客户端提取文件元数据。ExifTool虽然强大,但其Perl语言特性导致难以在各种操作系统上进行静态编译和部署。作者尝试了各种方法,包括静态编译Perl,最终转向了WebAssembly。这个过程充满了挑战,包括与Perl的构建系统、Emscripten和WASI的斗争,以及对Perl源码的修改。最终,作者成功地构建了一个自包含的WebAssembly版本的Perl,并运行了ExifTool,但这个过程也暴露出WebAssembly运行时对异常处理的支持不足的问题。

开发 ExifTool