gpt4 book ai didi

clang - Emscripten 和 Clang 在 WebAssembly 编译方面有什么区别

转载 作者:行者123 更新时间:2023-12-04 16:25:44 35 4
gpt4 key购买 nike

我知道 clang(通过使用 target=wasm32)和 emscripten 都可以将 C 代码编译成 webassembly,但它们有什么不同?
看起来他们都使用 LLVM 作为后端。其实,我什至不太明白 llvm 和 clang 之间的关系......
我已经阅读了一段时间的 WebAssembly,但我对它缺乏低级的理解。非常感谢您的参与!!

最佳答案

clang 是一个基于 llvm 技术的编译器,所以你经常听到 clang 和 llvm 互换使用。 clang 只是 llvm 项目的一个组成部分。
emscripten 是一个编译器,它使用 clang 来完成实际编译到 WebAssembly 的大部分繁重工作,但在此基础上还添加了许多特性和功能,主要与与 JavaScript 和 Web 的无缝集成以及 POSIX 和其他标准的模拟有关。
emscripten 使用 --target=wasm32-unknown-emscripten 在内部运行 clang它与常规 --target=wasm32 有一些非常小的差异.
如果您使用 -v 运行 emscripten它将在引擎盖下打印完整的 clang 命令行。

关于clang - Emscripten 和 Clang 在 WebAssembly 编译方面有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64690937/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com