Compile (ã³ã³ãã¤ã«)
ã³ã³ãã¤ã«ã¨ã¯ãæå®ãããè¨èªã§æ¸ãããã³ã³ãã¥ã¼ã¿ã¼ããã°ã©ã ããå¥ã®å½¢å¼ãè¨èªã®ä¸é£ã®å½ä»¤ã«å¤æãã使¥ã®ãã¨ã§ããã³ã³ãã¤ã©ã¼ã¯ããã®ä½æ¥ãå®è¡ããã³ã³ãã¥ã¼ã¿ã¼ããã°ã©ã ã®ãã¨ã§ãã
é常ãã³ã³ãã¤ã©ã¼ã¯ C++ãRustãJava ãªã©ã®é«ç´è¨èªã§æ¸ãããã³ã¼ããå®è¡å¯è½ãªï¼å®è¡å¯è½ãªï¼ã³ã¼ãããããããã¤ããªã¼ã³ã¼ããæ©æ¢°èªã«å¤æãã¾ããä¾ãã°ãWebAssembly ã¯å®è¡å¯è½ãªãã¤ããªã³ã¼ãã¨ããå½¢ã§ãC++ãRustãC#ãGoãSwiftããã®ä»ããã¤ãã®è¨èªã§æ¸ãããã³ã¼ãããã³ã³ãã¤ã«ããä»»æã®ã¦ã§ããã¼ã¸ä¸ã§å®è¡ãããã¨ãã§ããã»ã¨ãã©ã®æ©è½ã«ç¾è¡ãã©ã¦ã¶ã¼ã対å¿ãã¦ãã¾ãï¼ãã©ã¦ã¶ã¼äºææ§è¡¨ãåç §ï¼ã
ã»ã¨ãã©ã®ã³ã³ãã¤ã©ã¼ã¯ãAOT (ahead-of-time) ã³ã³ãã¤ã«ã¾ã㯠JIT (just-in-time) ã³ã³ãã¤ã«ãè¡ãã¾ãã
GNU ã® gcc ã³ã³ãã¤ã©ã¼ã¯ AOT ã³ã³ãã¤ã©ã¼ã®æåãªä¾ã§ããAOT ã³ã³ãã¤ã©ã¼ã¯é常ãã·ã§ã«ç°å¢ã®ã³ãã³ãã©ã¤ã³ããï¼ç«¯æ«ãã³ã³ã½ã¼ã«ããï¼ãããã㯠IDE å
ã§å¼ã³åºããã¾ãã
JIT ã³ã³ãã¤ã©ã¼ã¯é常ãç´æ¥å¼ã³åºãããã®ã§ã¯ãªããããã©ã¼ãã³ã¹ãåä¸ãããç®çã§ãã½ããã¦ã§ã¢ã®ã©ã³ã¿ã¤ã ã«å é¨çã«çµã¿è¾¼ã¾ãã¦ãã¾ããä¾ãã°ã主è¦ãªãã©ã¦ã¶ã¼ã¯ãã¹ã¦ãJIT ã³ã³ãã¤ã©ã¼ãå èµãã JavaScript ã¨ã³ã¸ã³ã使ç¨ãã¦ãã¾ãã
ã³ã³ãã¤ã©ã¼ã¯ãä¾ãã° TypeScript ãã JavaScript ã¸ã®ããã«ãããé«ãã¬ãã«ã®è¨èªéã§ç¿»è¨³ãããã¨ãããããã®å ´åã¯ãããã©ã³ã¹ãã¤ã©ã¼ (transpiler) ã¨å¼ã°ãã¾ãã
é¢é£æ å ±
- ã³ã³ãã¤ã©ï¼ã¦ã£ãããã£ã¢ï¼
- WebAssembly