如何解决在WebAssembly编译方面,Emscripten和Clang有什么区别
我知道clang(通过使用target = wasm32)和emscripten都可以将C代码编译为Webassembly,但是它们有何不同?
看起来他们俩都使用LLVM作为后端。实际上,我什至还不太了解llvm和clang之间的关系...
我已经阅读WebAssembly已有一段时间了,但是我对此并不了解。非常感谢您的宝贵时间!
解决方法
clang是基于llvm技术构建的编译器,因此您经常听到clang和llvm互换使用。铛只是llvm项目的一个组成部分。
emscripten是一个编译器,使用clang进行实际的WebAssembly编译工作中的大部分繁重工作,但除此之外还添加了许多功能,主要与与JavaScript和Web的无缝集成以及POSIX和其他标准。
emscripten在内部运行--target=wasm32-unknown-emscripten
并与常规--target=wasm32
有一些很小的区别。
如果您使用-v
运行emscripten,它将在后台显示其使用的完整clang命令行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。