…L@ f«÷í’ÀX K"Y^ÒšTy"È¡a"²*µöz½0uü°êN(x`¶X@æ&Ù ’G]ôÏx½™Çde&½ÅÅð¼1ùðfýÛÀC’ŸèJÞÕ ç½@SÔÌ=ƒËC¨ªQØ™fôŠªYƧbidºddates2024-04-15T23:55:00etitlexJゆるã„C言語ã§ãƒ–ラウザã«ã‚‚putchar! love.c for WebAssembly part2dtagsp#Clang #wasm #jscurlxhttps://fukuno.jig.jp/4282dbodyyÅ æ„›ã‚ã‚‹C言語入門 with WebAssemblyã€C言語ã‹ã‚‰JavaScriptã®é–¢æ•°ã‚’呼ã³å‡ºãã†ç·¨ï¼
ã¾ã£ãŸã•ã‚“ã‹ã‚‰ã‚‚らã£ãŸã€C言語入門 for macï¼
入門者ã«ã´ã£ãŸã‚Šã€å¤šã‚ã«è¦‹ã¦ãれるモード -Wno-all ãŒã‚¤ã‚¤ï¼
putcharã§æ•°ãŒæ–‡å—ã«ï¼ã“れをWebAssemblyã§ã‚‚実ç¾ã—ã¾ã™ï¼
ã“れをコンパイラclangを使ã£ã¦ã€ãƒ–ラウザ用ã®ä»®æƒ³ãƒžã‚·ãƒ³èªžã€WebAssembly(wasm)ã«ã‚³ãƒ³ãƒ‘イルï¼
clang -Wno-all --target=wasm32 -nostdlib -Wl,--no-entry -Wl,--export=love -Wl,--allow-undefined love.c -o love.wasm
・・・ã¡ã‚‡ã£ã¨é•·ã„ã§ã™ã。コピペã§OKã§ã™ãŒã€æ¯Žå›žã‚³ãƒ”ペもé¢å€’ãªã®ã§ã€ã“ã®1行を c.sh ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã„ã¦ä¿å˜ã—ã¦ãŠã‘ã°ãƒ»ãƒ»ãƒ»
sh c.sh
ã¨ã€ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ä¸Šã§ã™ã使ãˆã¾ã™ï¼lsã§ç¢ºèªã€WebAssemblyã®ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ« love.wasm ãŒã§ãã¾ã™ã€‚(Windowsã®äººã¯ã€WSLを使ãŠã†ï¼‰
「wasm in C testã€
ブラウザ㧠love.wasm ファイルをèªã¿è¾¼ã‚“ã§ã€é–¢æ•° love を呼ã¶ã¨ã€ç”»é¢ã«"ABC"ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ターミナルã§å‹•ãJavaScriptã®ãƒ©ãƒ³ã‚¿ã‚¤ãƒ ã€Denoを使ã£ã¦ã‚‚å‹•ãã¾ã™ã‚ˆã€‚
deno run -A love.js 100
è‚ã¯ãƒ–ラウザã‹ã‚‰å‘¼ã³å‡ºã—ã™ã‚‹æ™‚ã«æº–å‚™ã™ã‚‹ã€importObject ã§ã€JavaScriptã®é–¢æ•°ã‚’è¨å®šã—ã¦ã„ã‚‹ã¨ã“ã‚ï¼
分ã‹ã‚‰ãªã„ã€ã†ã¾ãã„ã‹ãªã„ã¨ãã¯ã€Issuesã«è¨˜è¿°ã™ã‚‹ã‹ã€Xã§è¿”ä¿¡ãã ã•ã„ï¼
鯖江ã®ãŠã—ゃれカフェ&メガãƒã‚„サングラスãªã©ç›®ã®è¤‡åˆæ–½è¨ã€ãƒ¬ãƒ³ã‚ºãƒ‘ークï¼
レンズãŒãŸãã•ã‚“ï¼
ステã‚ãªåº—内ï¼
カフェã§æ³¨æ–‡ã€ã‚ã‚モンã®åˆæ‹ã€ã„ã¡ã”味ï¼
レンズã®ãƒ—ãƒã€è«¸äº•ã•ã‚“ã¨ï¼
メガãƒã®ä¸Šã‹ã‚‰ã‹ã‘るサングラスã§ã€ç¥žå±±ã¾ã‚‹ã”ã¨é«˜å°‚ã¸ã®é•·è·é›¢ãƒ‰ãƒ©ã‚¤ãƒ–ã¸ã®å‚™ãˆã‚‚ã°ã£ã¡ã‚Šï¼
links
- step1 C言語ã§ä½œã£ã¦ãƒ–ラウザã§å‹•ã‹ãã†! love.c for WebAssembly
- step2 ゆるã„C言語ã§ãƒ–ラウザã«ã‚‚putchar! love.c for WebAssembly
cimgxKhttps://img.sabae.cc/data/20240416/02dafd0a-843a-4fb3-9727-3f9a17e47918.jpg