Skip to content

Instantly share code, notes, and snippets.

@Astro36
Astro36 / rust-ffi-tutorial.md
Last active May 22, 2023 11:15
Node.js์—์„œ FFI๋กœ Rust๋ฅผ ์ด์šฉํ•ด๋ณด์ž

Node.js์—์„œ FFI๋กœ Rust๋ฅผ ์ด์šฉํ•ด๋ณด์ž

์†Œ๊ฐœ

Rust๋Š” ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•œ ๋กœ์šฐ ๋ ˆ๋ฒจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋น„์šฉ ์—†๋Š” ์ถ”์ƒํ™”, ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ •์„ฑ, ๋ฐ์ดํ„ฐ ๋ ˆ์ด์Šค ์—†๋Š” ์Šค๋ ˆ๋”ฉ ๋“ฑ๋“ฑ์„ ์ง€์›ํ•˜๋ฉฐ C++์— ๋น„ํ•ด ๋ฌธ๋ฒ•๋„ ๊ฐ„๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์ ์˜ Rust๋ฅผ Node์™€ ๊ฒฐํ•ฉ์‹œ์ผœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, Node์˜ ๋ถ€์กฑํ•œ ์„ฑ๋Šฅ์„ ๋ฉ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Node์—์„œ Rust์—์„œ ์ž‘์„ฑํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” FFI(Foreign function interface, ์™ธ๋ถ€ ํ•จ์ˆ˜ ์ธํ„ฐํŽ˜์ด์Šค)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ค€๋น„๋ฌผ์ž…๋‹ˆ๋‹ค.

์ค€๋น„๋ฌผ