㈠ emcc 编译 wasm
自从八年前大学时期接触cpp,作为一名图形设计新手,emcc编译WASM的经历确实让人感到困扰。
问题主要出在emcc的编译过程中,错误的库参数和中文文档的不清晰使得编译后的WASM无法被浏览器API识别或通过webpack导入。特别指出,Windows环境下的emcc安装,需要自行配置环境变量。
emcc,作为WebAssembly的编译器,其功能类似于传统的gcc,能将C/C++代码转化为字节码,进而转为asm.js或WASM格式。编译选项与gcc类似,如-s和-O,同时增加了如–pre-js和–post-js等适应Web环境的选项。关键参数通常存储在setting.js中。
对于图形设计者而言,正确配置后,构建出的WASM库可以直接被浏览器API利用。然而,webpack5虽能直接导入,但需添加实验性参数。值得注意的是,如果使用cra,需在file-loader中排除带有wasm扩展名的文件,以免被file-loader处理。
总的来说,编译后的WASM应直接作为普通模块导入,无需loader捕获。对于其他语言如Go或Rust,尽管Go支持相对较弱且文档混乱,Rust可能是个更好的选择,但作者最终还是选择了cpp作为开发工具。
㈡ Linux下用c编译的out文件双击不能运行是怎么回事
1、在Linux图形界面无法双击运行gcc生成的可执行文件,一般是因为编写的程序是控制台程序,而不是GUI程序,不是程序不运行,而是因为没有GUI界面,所以用户看不到效果。正确的作法是在终端中运行。
2、如下图所示的hello world的C语言代码 ,在vim中通过外置命令将其编译输出为hello的可执行文件,通过&&同时执行后面的./hello,马上就能看到效果。