본문 바로가기

FPC6

FPC 오브젝트(object) 형 최초 객체지향 프로그래밍(OOP)이 소개되었을 때, 터보 파스칼(TP)은 record 를 확장한 object 형을 사용하였습니다. 현재 델파이의 경우 class 를 주로 사용하지만 여전히 object 형을 지원하고 있으며 이는 프리 파스칼(FPC) 도 마찬가지입니다. 다음은 레퍼런스 문서에 있는 내용을 제 개인적 기준으로 요약 정리해 보았습니다.^^ 매뉴얼에서는 멤버 변수를 field 로 지칭하고 있습니다. 1. Declaration type TObj = object private Caption: ShortString; public constructor Init; destructor done; procedure SetCaption(AValue: String); function GetCaption: Str.. 2014. 4. 17.
FPC 로 OS 커널 만들기... - 2 - 오늘 포스팅은 작업 일지에 가까울 거 같습니다. 아무래도 제게 주어진 시간이 많지 않은 관계로 최대한 빨리 작업을 진행하고 있거든요. 말 그대로 닥치는대로 하고있습니다. ^^ 정석대로라면 부트로더를 통해 보호 모드로 진입하고 이후, 인터럽트, 디바이스, 태스크 스위칭, 페이징 등 거의 정해진 절차처럼 커널 개발을 하게 됩니다. 수많은 OS 개발자들이 해왔던 일이고 저도 그 중 한명이 되는 겁니다. 하지만 기왕지사 조금 무리를 하며 일을 진행하는 것인만큼 뭔가 의미가 있어야하지 않을까란 생각이 들었습니다. 즉, 이 일을 해야하는 이유 혹은 가치를 정할 필요가 생겼습니다.(코딩을 하며 멀티 태스킹으로 고민했습니다. ㅋㅋ) 유산의 발굴 2년전 파스칼과 관련한 글을 포스팅한 적이 있습니다. 2012/09/07 .. 2014. 4. 11.
FPC 2.6 지원 CPU 및 OS user.pdf 문서 앞부분 1.2 About the compiler 의 내용입니다. 자꾸 찾아보게 되서... ^^ CPUIntel i386 및 i486, 펜티엄 계열과 상위 버전AMD64/x86_64PowerPCPowerPC64SPARCARMm68k OSDOSLINUXAMIGA (0.99.5 버전만)WINDOWSMac OS XOS/2FREEBSDBEOSSOLARISNETBSDNETWAREOPENBSDMorphOSSymbian 다음은 rtl 소스 디렉토리의 서브 디렉토리 입니다. 정말 다양합니다.ㅎㅎ 일단 당분간 목표는 여기에 개인적으로 작업하고있는 자작 OS 를 추가하는 겁니다. FPC 아니었다면, 컴파일러까지 만들겠다고 생난리를 쳤을텐데 그나마 다행이네요. 아직은 아이디어 단계이긴하지만 자바의 조상이.. 2014. 4. 10.
FPC 로 OS 커널 만들기... - 1 - 예전부터 파스칼 OS 제작을 꿈꿔오고 있었는데요. 현실적인 제약 때문에 그냥 은퇴하면 해야겠거니...하고 생각했습니다. 그러다 최근 시간적 여유가 생겨 미뤘던 작업을 하나 둘 해보고 있습니다.(얼마나 갈런지요? ㅠㅠ 먹고 살아야하니...) 일단, Intel 계열 CPU 의 경우~ 처음 부팅시 리얼 모드에서 동작하다 보호 모드로 전환하는 과정을 거쳐야하는데... 리얼 모드는 16비트 기계어로 동작합니다. 따라서 부팅의 시작을 담당하는 부트로더의 경우, 16비트 기계어 코드가 필요한 것이죠. 약간의 결벽증이 있던 저는 2006년경 TP(Turbo Pascal)로 관련 작업을 해보았습니다. 2012/04/09 - [프로그래밍/OS] - 파스칼로 만든 부트로더... - 1 - 당시에는 TP 와 델파이로만 OS .. 2014. 4. 9.
CodeTyphon 으로 FPC 크로스 컴파일러 생성하기... 수동으로 크로스 컴파일러를 생성하는 방법은 2014/04/04 - [프로그래밍/OS] - FPC 64비트(x86_64) 리눅스에서 32비트(i386) 크로스 컴파일러 생성하기... 를 참고해 주세요. 먼저, CodeTyphon 을 다운로드합니다. http://www.pilotlogic.com/sitejoom/index.php/downloads/finish/30-codetyphon/123-codetyphonins-zip 윈도우, 리눅스 모두 상기 파일을 다운로드하면 됩니다. 아울러 Vista 이후 윈도우의 경우 관리자 권한을 사용하여 설치 과정을 진행하면 되겠습니다. 다운로드한 압축파일을 적당한 곳에 해제한 후, install.bat 를 실행합니다. 아참 아래 스샷에서처럼 CodeTyphon 이라는 디렉토.. 2014. 4. 8.
FPC 64비트(x86_64) 리눅스에서 32비트(i386) 크로스 컴파일러 생성하기... CentOS 에서 라자루스를 설치하였다면, /usr/share/fpcsrc/2.6.2 와 같은 디렉토리에 fpc 의 소스가 설치되어있을 겁니다. 해당 디렉토리 아래 compile 디렉토리로 이동한 후, 아래의 명령어를 입력합니다. cd /usr/share/fpcsrc/2.6.2/compiler make cycle CPU_TARGET="i386" 어차피 리눅스에서 실행하고 32비트 리눅스 컴파일러이기 때문에 OS_TARGET 은 생략하였습니다. 끝에 오류 메시지가 나오는데, compile 디렉토리에 ppcross386 이 무사히 생성되어있길래 그냥 무시하였습니다.(ㅡㅡㅋ) 심볼링 링크를 생성해줍니다. ln -s /usr/share/fpcsrc/2.6.2/compiler/ppcross386 /usr/bin .. 2014. 4. 4.