์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ fp-3.0.0 ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
fp - FPC(Free Pascal Compiler) ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ
๊ฐ์
fp [์ต์ ] [์์ค ํ์ผ]
๊ธฐ์
์ด ๋ฐ์ด๋๋ฆฌ๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋๋ค. ๋ฌด๋ฃ ํ์ค์นผ ์ปดํ์ผ๋ฌ (FPC)
์ด๋ ๊ณ ๊ธ ํฐ๋ณด ํ์ค์นผ ๊ณผ ๋ธํ์ด (7.0) ํธํ ๊ฐ๋ฅํ ๋ค์ค ๋์ Pascal ์ปดํ์ผ๋ฌ.
์ปดํ์ผ๋ฌ ์์ง์ GCC๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ง ์์ง๋ง ์์ ํ ๋ ๋ฆฝํ์ ๋๋ค.
์ปดํ์ผ๋ฌ๋ ๋ค์์ ์ฌ์ฉํฉ๋๋ค. LD(1) ์ฌ์ฉํ ์ ์์ต๋๋ค AS(1) (ํ๋ผ๋ฏธํฐ -Aas ์ฐธ์กฐ)
๋ฐ์ด๋๋ฆฌ ๊ฐ์ฒด ์์ฑ๊ธฐ.
ํ์ฌ ์ฃผ์ ๋ชฉํ๋ Go32V2 (Dos DJGPP ์ต์คํ ๋), ์์ , ๋ฆฌ๋ ์ค, ๋งฅ OS, ๋งฅ OS X,
๋ชจ๋ฅดํฌ์ค, ๋คํธ์จ์ด, OS / 2 ๊ณผ Win32. ๊ธฐํ ๋์(Atari ๋ฐ Amiga์ฉ M68K ์ปดํ์ผ๋ฌ)
์ปดํ์ผ๋ฌ์ ์ด์ ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ฑฐ๋ ์์ง ๊ฐ๋ฐ ์ค์ ๋๋ค.
์ด ๋งจํ์ด์ง๋ ๋น ๋ฅธ ์ฐธ์กฐ์ฉ์ ๋๋ค. FPC๋ ํ๋ฅญํ(2000+ ํ์ด์ง)์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.
์ด ๋งค๋ด์ผ ํ์ด์ง๋ ์ต์ ๋ฒ์ ์ด ์๋ ์ ์์ง๋ง ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ฉ๋ฒ
IDE์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ Turbo Pascal๊ณผ ์ ์ฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ๊ฒ
์ฌ์ฉ์์๊ฒ ์ฌ์ฉ์์๊ฒ ์น์ํ์ง๋ง ๊ฐ๋ ฅํ ํธ์ง๊ธฐ, ๊ด๋ฒ์ํ ์จ๋ผ์ธ
๋์๋ง ์์คํ ๋ฐ ๋๋ฒ๊ฑฐ.
ํ ์คํธ ๋ชจ๋ ์ฐฝ ์์คํ ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๊ธฐ๋ฐ์ ๋๋ค. ๋ง์ฐ์ค๊ฐ ์ง์๋๋ฉฐ,
๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ํค๋ณด๋๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค. ์ฌ์ฉ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ช ๊ฐ์ง ํ ์คํธ ํธ์ง๊ธฐ๋ฅผ ์ฝ๋๋ค.
๊ทธ๊ฐ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ ์ฐฝ์์ ์ ๊ธฐ์ ์ผ๋ก ํ์ธํ๊ณ
๋ฐ๋ก ๊ฐ๊ธฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฒ๊ทธํฉ๋๋ค. ์ปดํ์ผ๋ฌ์ ๊ณ ์์ ํ๋ก๊ทธ๋๋จธ๊ฐ
์ด ์์ ์ ์์ฃผ ์ํํ ์ ์์ผ๋ฏ๋ก ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๋์๋ง ํ์ผ
๊ธฐ๋ณธ์ ์ผ๋ก ๋์๋ง ํ์ผ์ ์ ๊ณต๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๋ Free Pascal์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค.
๋ฌธ์๋ฅผ HTML ํ์์ผ๋ก ๋ง๋ค๊ณ ๋์๋ง->ํ์ผ ๋ฉ๋ด๋ฅผ ์ฌ์ฉํ์ฌ IDE์ ์ค์นํฉ๋๋ค. ํฐ๋ณด
Pascal .tph ํ์ผ๋ ์ด ๋ฉ๋ด์ ์ค์นํ ์ ์์ผ๋ฉฐ ์์ค ์ฝ๋์ ์ ์ฉํ ์ ์์ต๋๋ค.
ํจ๊ป ๋ฐฐ์ก๋๋ .tphํ์ผas์ ์ ์๋ฅ ๋น์น.
์บ๋ฆญํฐ ์ธํธ
IDE๋ VGA ํ ์คํธ ๋ชจ๋ ๊ธ๊ผด์ฉ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด ๊ธ๊ผด์ ์๊ฐ์ ์ผ๋ก ๋ ๋ง์ ๊ฒ์ ํ์ฉํฉ๋๋ค.
Unix ์์คํ ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ VT100 ๊ธ๊ผด๋ณด๋ค ํฅ๋ฏธ๋ก์ด ํ ์คํธ ๋ชจ๋ ๋ฐ
๋๋ถ๋ถ์ ์ด์ ์ฒด์ ๋ ํ ์คํธ ๋ชจ๋์ VGA ๋ฌธ์ ์งํฉ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด์์ฑ์ด ๋ ๋์ต๋๋ค.
VT100 ํธํ ํฐ๋ฏธ๋์์ ์คํํ ๋ ์ผ๋ถ ์๋ฎฌ๋ ์ด์ ์ด ๋ฐ์ํฉ๋๋ค. ๋ด๋ถ์ ์ผ๋ก IDE
VGA ํ ์คํธ ๋ชจ๋ ๊ธ๊ผด(๋๋ถ๋ถ ์ฝ๋ ํ์ด์ง 850)์์ ์คํ๋๊ณ ์๋ค๊ณ ์๊ฐํ์ง๋ง ๋ชจ๋
๋ฌธ์(์ฝ๋ ํ์ด์ง 850์ ๊ฒฝ์ฐ)๋ Latin-1 ๋ฐ VT100 ๋์ฒด๋ก ๋ณํ๋ฉ๋๋ค.
๋ฌธ์ ์งํฉ ๋ฌธ์.
Linux ์ฝ์์ VGA ๊ธ๊ผด์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก IDE๋ฅผ ์๋ํ ๋๋ก ๋ณผ ์ ์์ต๋๋ค.
๊ทธ ์์. Linux ์ฝ์ ๋ชจ๋๋ ๋ชจ๋ VGA ๋ฌธ์ ์งํฉ์ ์ง์ํฉ๋๋ค.
/dev/vcsa* ์ฅ์น ๋ฐ ๋๋ถ๋ถ์ ์ผ๋ฐ์ ์ธ ์ด์ค์ผ์ดํ ์ํ์ค๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ๋์ ์ฌ์ฉ์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด
๊ฒฝํ์ ๋น์ถ์ด ๋ณผ ๋ IDE๋ VGA ๋ฌธ์ ์งํฉ์ ์ฌ์ฉํ๋ ๋ฐ ์์ด ๋ค์ ๊ณต๊ฒฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค. ๋จผ์
์คํ ์ค์ธ ์ค์ ์ฝ์ ๋ฒํธ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค(pty์์ ์คํํ๋๋ผ๋
๋ฏธ๋๋์ ์ปค๋งจ๋์์์ฒ๋ผ). ๊ทธ๋ฐ ๋ค์ IDE๋ ๋ค์์ ์ํ๋ /dev/vcsa* ์ฅ์น๋ฅผ ์ฝ๋๋ค.
๊ทธ ์ฝ์. ๊ถํ์ด ๊ฑฐ๋ถ๋๋ฉด IDE๋ Grab_vcsa ์ ํธ๋ฆฌํฐ๋ฅผ ํธ์ถํฉ๋๋ค.
vcsa ์ฅ์น์ ๊ถํ์ ๋ถ์ฌํ๋ setuid ๋ฃจํธ ์ ํธ๋ฆฌํฐ.
vcsa ์ฅ์น๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ IDE๋ VGA๋ฅผ ํ์ฑํํ๊ธฐ ์ํด ์ด์ค์ผ์ดํ ์ฝ๋๋ฅผ ๋ณด๋ ๋๋ค.
ํฐํธ. ์ด ๋ชจ๋์์๋ ๋ฎ์ 32๊ฐ์ ASCII ์์น์ ์๋ ๋ช ๊ฐ์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง
์ฃผ๋ก ์ ์ฒด ๋ผ์ธ ๋๋ก์ ๋ฌธ์ ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ๊ฑฐ์ ๋์น ์ฑ์ง ๋ชปํ ๊ฒ์ ๋๋ค.
์ฐจ์ด์ .
Linux ํ๋ ์ ๋ฒํผ ์ฅ์น์ Free Pascal IDE๋ ํ๋ฅญํ ์กฐํฉ์ ๋๋ค. ์ ํจ๊ป
fbdev ์ผ๋ฐ 80x25๋ณด๋ค ๋์ ํ ์คํธ ๋ชจ๋ ํด์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋จธ๋ ํ ๋ฒ์ ๋ ๋ง์ ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
Linux ์ฝ์์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ์ํ ๊ธ๊ผด์ ๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ด๋ฐ ํฐํธ๊ฐ
VGA ์คํ์ผ ๋ ์ด์์, ์ฆ ์ฝ๋ ํ์ด์ง 437/850/...์ด ์์ด์ผ ํฉ๋๋ค.
ํ์ผ ์์คํ ์ด ์ด๋ฌํ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ Linux ์ฝ์์ด ๋ณํ์ ์ฒ๋ฆฌํฉ๋๋ค.
ISO-8859-1, UTF-8 ๋๋ ๋ฌด์์ด๋ ๊ธ๊ผด๋ก.) ๊ธฐ๋ณธ ๊ธ๊ผด์๋ ์ฝ๋ ํ์ด์ง๊ฐ ์๊ธฐ ๋๋ฌธ์
437 ๋ ์ด์์์์ ๊ธ๊ผด์ ์คํํด ๋ณธ ์ฌ์ฉ์๋ง ์ฌ๊ธฐ์์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
IDE๋ ๋ค์์ ์ง์ ํ ์ ์๋ ํ๊ฒฝ ๋ณ์ CONSOLEFONT_CP๋ฅผ ์ธ์ํฉ๋๋ค.
์ฝ์ ๊ธ๊ผด์ ์ฝ๋ ํ์ด์ง์ ๋๋ค. ์ธ์๋ ๊ฐ์ ํ์ฌ "cp437" ๋ฐ "cp850"์ ๋๋ค. ๋ง์ฝ์
์ด ๋ณ์๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด ์ฝ๋ ํ์ด์ง 437์ด ๊ฐ์ ๋ฉ๋๋ค. ํ์ฌ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
850ํ์ด์ง ๋ณ์๋ฅผ ์ค์ ํ์ง ์์ ์ํ์์ ํ์ฌ๋ก์๋ ํฐ ์ํฅ์ ์์ ๊ฒ์ ๋๋ค.
IDE์์ ์ฌ์ฉํ๋ ๋ฌธ์๋ ๋ ์ฝ๋ ํ์ด์ง์ ๋ชจ๋ ์กด์ฌํฉ๋๋ค.
์ฐธ๊ณ : KOI8-R/KOI8-U ๊ธ๊ผด์๋ ๋ชจ๋ ํ์ ๋ฌธ์๊ฐ ์์ง๋ง ์ ๊ทธ๋ฆฌ๊ธฐ ๋ฌธ์๋
์ฌ๋ฐ๋ฅธ ์์น์ ์์ง ์์ต๋๋ค. ํฅํ ์ง์ํ ์ ์์ง๋ง ํ์ฌ๋ ์ง์ํ์ง ์์ต๋๋ค.
๊ฑด๋ฐ
๋ชจ๋ ํค ์กฐํฉ์ด ์์ฑ๋๋ ๊ฒ์ ์๋๊ธฐ ๋๋ฌธ์ Unix ํค๋ณด๋ ์ฒ๋ฆฌ๋ ๋ณต์กํ ๋ฌธ์ ์ ๋๋ค.
์ด์ค์ผ์ดํ ์ฝ๋, ๋ค๋ฅธ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ ๋ค๋ฅธ ์ด์ค์ผ์ดํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ผ๋ถ ํค
์กฐํฉ์ X11 ์ฐฝ ๊ด๋ฆฌ์์์ ์์ ์ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
Free Pascal IDE์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ Turbo Pascal๊ณผ ์ ์ฌํ๊ฒ ์ค๊ณ๋์๊ธฐ ๋๋ฌธ์,
ํค๋ณด๋ ๋ช ๋ น์ ํฌํจํ์ฌ ์์ ์ํฉ ์ค ํ๋๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ผ๋ถ
๋์ฒด ํค๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ ์์ผ๋ก ๋ ์ถ๊ฐ๋์ด์ผ ํ ๊ฒ์ ๋๋ค.
Linux ์ฝ์์์ ์คํํ ๋ ํค๋ณด๋๋ ์ ์ฒด ๊ธฐ๋ฅ์ ์ํด ๋ค์ ํ๋ก๊ทธ๋๋ฐ๋ฉ๋๋ค.
๋ค์์ ๋ฐ์ํ ์ ์๋ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ๊ฐ๋ฅํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ฌธ์ : Shift+ํ์ดํ ํค๋ก ํ ์คํธ๋ฅผ ์ ํํ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ : ๋ง์ฐ์ค ์ฌ์ฉ
ํด๊ฒฐ ๋ฐฉ๋ฒ : ๋ธ๋ก์ ์์์ ํ์ํ๋ ค๋ฉด "ctrl+kb"๋ฅผ ์ฌ์ฉํ๊ณ ๋ธ๋ก์ ๋์ ํ์ํ๋ ค๋ฉด "ctrl+ke"๋ฅผ ์ฌ์ฉํ๊ณ "ctrl+k"๋ฅผ ์ฌ์ฉํฉ๋๋ค.
h"๋ฅผ ๋๋ฌ ๋ธ๋ก์ ์จ๊น๋๋ค.
๋ฌธ์ : ์๋ผ๋ด๊ธฐ/๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํค๊ฐ ์๋ํ์ง ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ : ์ต์ ->ํ๊ฒฝ->ํค๋ณด๋ ๋ฐ ๋ง์ฐ์ค๋ก ์ด๋ํ์ฌ Microsoft ์คํ์ผ์ ํ์ฑํํฉ๋๋ค.
์๋ผ๋ด๊ธฐ/๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํค.
ํด๊ฒฐ ๋ฐฉ๋ฒ : ๋ฉ๋ด๋ฐ๋ฅผ ์ด์ฉํ์ธ์.
๋ฌธ์ : Alt ํค๊ฐ ์๋ํ์ง ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ : ๋จผ์ Esc ํค๋ฅผ ๋๋ฅธ ๋ค์ Alt๊ฐ ์๋ ํค๋ฅผ ๋๋ฆ ๋๋ค. ์์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
Linux ์ฝ์์์ Alt ํค๊ฐ ์๋ํฉ๋๋ค.
์ด๋ค ์ด์ ์์๋ ์ฌํ๋ก๊ทธ๋๋ฐ๋ Linux ์ฝ์ ํค๋ณด๋๊ฐ
์ข ๋ฃ ํ ์๋ ์ํ(IDE ์ถฉ๋?), "/etc/init.d/kbd start"์ ๊ฐ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์ ์์ ์ธ ๋์์ผ๋ก ๋ค์ ํ๋ก๊ทธ๋๋ฐํฉ๋๋ค.
์๊ฐ
ํ๋ฆฌํ์ค์นผ ๊ฐ๋ฐํ(์ฐธ์กฐ http://www.freepascal.org)
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก fp-3.0.0 ์ฌ์ฉ