ํ๋ก์ ํธ
ํ์๋ ์ด๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ณ @inlinec ์ฃผ์์ ์ฌ์ฉํ์ฌ ๊ฐ์กฐ ํ์๋ C ํจ์์ ์ ์๋ฅผ ctypes ๋ฐ์ธ๋ฉ์ผ๋ก ์ฆ์ ๋ณํํ๊ณ C ํจ์์ ๋ณธ๋ฌธ์ ๋ค์์ผ๋ก ๋ฐ๊พธ๋ ๋ชจ๋("from inlinec import inlinec")๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ธ๋ฉ์ ๋ํ ํธ์ถ์
๋๋ค. ์ด๋ฌํ ๋ณํ ํ Python ์ธํฐํ๋ฆฌํฐ๋ ์คํฌ๋ฆฝํธ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ณํ๋ ์์ค ํ
์คํธ๋ฅผ ์์ ํ๋ฉฐ, ์ฌ๊ธฐ์ C ํจ์๋ ๋ค์์ ์ฌ์ฉํ์ฌ ํธ์ถ๋ฉ๋๋ค.
# ์ฝ๋ฉ: ์ธ๋ผ์ธ
inlinec์์ inlinec ๊ฐ์ ธ์ค๊ธฐ
@inlinec
๋ฐํ ํ
์คํธ():
#ํฌํจ
๋ฌดํจ ํ
์คํธ() {
printf("์๋
ํ์ธ์, ์ธ์");
}
๊ฐ๋ฐ์ ์ง๊ธ๊น์ง ์คํ์ ์ธ ํ๋กํ ํ์
์ผ๋ก ์ ์๋์์ผ๋ฉฐ, ์ฌ๊ธฐ์๋ ํจ์์ ๋ํ ํฌ์ธํฐ(๋ฌธ์์ด ์ ์ธ) ์ ๋ฌ์ ๋ํ ์ง์ ๋ถ์กฑ, ์คํ ํ์์ฑ ๋ฑ์ ๋จ์ ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ฝ๋ ์ ์ฒ๋ฆฌ๋ฅผ ์ํ "gcc -E", ์ค๊ฐ *.so, *.o ๋ฐ *.c ํ์ผ์ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅํ๊ณ , ๋ณํ๋ ๋ฒ์ ์ ์บ์ํ์ง ์๊ณ , ๋ถํ์ํ ๊ตฌ๋ฌธ ๋ถ์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค(์คํํ ๋๋ง๋ค ๊ธด ์ง์ฐ).
์ถ์ฒ : opennet.ru