㈠ 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,馬上就能看到效果。