Overview of Free Pascal and Lazarus/ko

From Lazarus wiki
Revision as of 11:17, 25 November 2008 by Oranke (talk | contribs)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) Bahasa Indonesia (id) italiano (it) 日本語 (ja) 한국어 (ko) polski (pl) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

프리 파스칼(FPC)은 두 개의 큰 특징을 가진 오픈 소스 파스칼 컴파일러 입니다. 첫번째는 델파이와의 호환성입니다. 또 하나는 다중 플랫폼에 대한 지원 입니다. 현재 윈도우즈, 맥 OS X, 리눅스에 대응하고 있습니다. 프리 파스칼은, 델파이에서 확장된 오브젝트 파스칼 프로그래밍 언어를 지원하는 것 뿐만 아니라, 델파이에서 쓸 수 있는 강력한 기능의 라이브러리나 클래스도 함께 이용할 수 있습니다. 델파이 사용자에게 잘 알려져 있는 System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles 그리고 Registry 등의 유니트도 있습니다. 또한 이것들은 프리 파스킬이 동작하는 모든 플랫폼 상에서 동작 합니다. 그 외에도 프리 파스칼에는 Windows, ShellAPI, BaseUnix, Unix, 그리고 DynLibs 처럼 특정 운영체제를 위한 유니트들도 준비되어 있습니다. 프리 파스칼 런타임 라이브러리(RTL)는 이 유니트들을 모아놓은 커다란 라이브러리 입니다.

라자루스는 프리 파스칼용 통합 개발 환경(IDE)을 제공하는 오픈 소스 프로젝트 입니다. 프리 파스칼로 개발 되었으며, 문법 강조가 가능한 코드 에디터와 직관적인 폼 디자이너를 가지고 있습니다. 라자루스가 사용하는 라자루스 컴포넌트 라이브러리(LCL) 은 델파이의 비주얼 컴포넌트 라이브러리(VLC) 과 높은 호환성을 가지고 있으며 VCL 컨트롤과 마찬가지로 폼이나 버튼, 텍스트박스등이 있습니다. 이 컨트롤들을 적절하게 배치하여 그래픽 사용자 인터페이스(GUI)를 가지는 어플리케이션을 작성할 수 있습니다.

프리 파스칼과 라자루스는 파스칼 코드로 작성 되어 있습니다. 프리 파스칼 컴파일러와 라자루스 뿐 아니라 RTL 이나 LCL의 모든 유니트들의 소스 코드가 완전히 공개되어 있습니다.

프리 파스칼과 라자루스는 델파이와 마찬가지로 일반적인 프로그래밍 툴 입니다. 이 의미는 다음과 같은 폭 넓고 다양한 프로그램을 개발하는 데 사용할 수 있다는 의미 입니다.


콘솔 어플리케이션

Console apps don't have a GUI. Instead they are usually launched from the console, read their input from the console, and write their output to the console. In Windows the console is usually referred to as a command prompt window. In OS X and Linux the console is referred to as a terminal window. Console apps include things like small utilities such as the Windows FC (file compare) program or the Unix cd and cp commands. Console apps can also be powerful number crunching, modeling, or data processing programs that don't need a fancy GUI because they're started by other programs or from batch files (or shell scripts on unix/linux). The Free Pascal compiler and the utility programs included with it are all console apps, meaning they can be run from the console, a batch file, or from the Lazarus IDE.

You can create a console app with no more than a text editor and the Free Pascal compiler. You don't have to use Lazarus to develop console apps. However, if you prefer to work in an integrated environment, you can use Lazarus to create a project for the console app and then edit and compile the code in the Lazarus IDE.

동적 라이브러리

A dynamically loadable library is usually a collection of compiled functions that can be called by other programs. As the name suggests, the library is not linked into your executable at compile-time, but instead is loaded at run-time. In Windows, a library file has a .dll extension (dynamic-link library, or DLL). In OS X, a library file has a .dylib extension (dynamic shared library). In Linux, a library file has an .so extension (shared object library). Dynamically loadable libraries are typically used to develop add-ons for other programs, to develop libraries that can be called by programs written in other languages such as C and C++, or to partition large projects into chunks so that the project's developers don't step on each other's toes. Windows itself is made up of hundreds of DLLs, as are many other large applications such as OpenOffice.org.

Like console apps, you only need a text editor and the Free Pascal compiler to develop a library, although you can also create a Lazarus project for the library and develop the library in the Lazarus IDE.

On Windows, DLLs have an undeserved reputation for being overly complex and unstable. This has more to do with the way they've sometimes been installed than it does with DLLs themselves. Actually, since passing information to and from DLLs is normally done with standard, simple data types (rather than with language-specific objects or structures), this requirement forces programmers to pay more attention to what they're doing. If done right, this can result in better, more stable programs.

GUI 어플리케이션

Most of the programs we use daily are GUI apps, including word processors, Web browsers, spreadsheet programs, even many development tools. Lazarus and Delphi are both good examples of full-featured GUI apps. When developing a GUI app with Lazarus, not only do you develop units of Pascal code, you also design forms containing visual controls such as buttons and list boxes. Like Delphi, form design in Lazarus is done visually. Control properties can be set in the IDE or in code.

Since the LCL controls are available on all supported platforms, a GUI app developed on one platform (for example, Windows) can be compiled on another platform (for example, OS X or Linux) without any changes to the form design or the form code files.