Python, Ruby, Groovy 등의 스크립팅 언어를 동적 프로그래밍 언어라고 부르는 이유는
함수를 변수에 저장하여 필요할 때 변수를 부르둣이 함수를 부를 수 있기 때문이다
Ruby 언어와 Groovy 언어에서는 이를 클로저(closer)라고 부르고,
Python 언어에서는 이를 람다 함수(lambda function) 이라고 부른다.

Mathenatica 언어도 이러한 기능을 제공한다.
다음은 이 기능을 이용하여 피보나티 수열과 유클리드 호제법을 구현한 것이다.
(참고. 유클리드 호제법을 구현한 gcd 함수는 Mathematica Developer에 올라와 있는 예제가 음의 정수에 대하여는 잘 못 처리하기 때문에 수정한 것이다.)


* Mathematica 에서 Module 함수를 이용한 동적 프로그래밍(dynamic programming)




* 위의 내용를 PDF 파일로 저장한 것

dynamicProgrammingExample.pdf


* 위의 내용을 HTML 파일로 저장한 것

dynamicProgrammingExampleHtml.html

    (이미지 파일은 HTMLFiles 라는 서브폴더에 저장되므로 현재 티스토리에서는 보이지 않는다.
     웹사이트에 올릴 때는 이 서브폴더 아래의 파일등도 그대로 옮겨주어야 한다. )

* TeX 파일로 저장하여 PDF 파일 생성하기
    ** Mathematica 에서 저장한 원본

dynamicProgrammingExampleTeX.tex


   ** 수정본 (\noindent\(\( ..... \)\) 을 모두 첮아서 \noindent\( ..... \) 로 수정함)

dynamicProgrammingExampleTeXNoindent.tex


   **  수정본우로 부터 pdfLatex 을 실행하여 위의 만든 PDF 파일

dynamicProgrammingExampleTeXNoindent.pdf






Posted by Scripter
,


* pyglet 을 이용하는 간단한 Python 소스 (소스파일명: testpyglet.py)

import pyglet

window = pyglet.window.Window()

label = pyglet.text.Label('Hello, world',
                          font_name='Times New Roman',
                          font_size=36,
                          x=window.width//2, y=window.height//2,
                          anchor_x='center', anchor_y='center')
@window.event
def on_draw():
    window.clear()
    label.draw()

pyglet.app.run()

실행 결과:




* pyglet 을 이용하여 한글을 출력하는 Python 소스 (소스파일명: testpyglet2.py)
(소스파일을 저장시 반드시 UTF-8 인코딩으로 저장해야 한다)

# coding: utf-8

import pyglet

window = pyglet.window.Window()

label = pyglet.text.Label(u'Hello, world! 안녕하세요?',
                          font_name='맑은 명조',
                          font_size=24,
                          x=window.width//2, y=window.height//2,
                          anchor_x='center', anchor_y='center')

@window.event
def on_draw():
    window.clear()
    label.draw()

pyglet.app.run()


실행 결과:


Posted by Scripter
,

Mac OS X Lion 에서 Ruby 1.9.2  에서 Tk GUI 사용하려면 ActiveTcl 을 먼저 설치하는 것이 좋다.
(만약 Ruby 1.9.2 가 설치되어 있다면 Tk 를 살치한 후 Ruby  를 재컴파일 & 재설치하면 된다.)

1. Mac OS X 용 ActiveTcl 8.5 다운로드

2. Mac OS X 용 Ruby 다운로드 
    * 또는 1.9 안정화 버젼: Ruby 1.9.2-p290(tar.bz2 | tar.gz | zip)
      (참고: http://www.ruby-lang.org/ko/downloads/)

3. ActiveTcl 8.5 설치하기
다운로드된  Active 8.5.10 의 mpkg 파일을 클릭하면 나타나는 다음 창에서 ActiveTcl-8.5.pkg 의 아이콘을 더블클릭하면 설치된다.




4. Ruby 1.9.2 설치하기
Ruby 1.9.2  의 압축이 해제된 기본 폴더(top folder)로 가서 다음 명령을 내린다.
(참고: http://blog.jeffdouglas.com/2011/08/01/ruby-1-9-2-install-errors-with-mac-os-x-lion-and-rvm/)
(아래에서 <install-dir> 부분은 자신의 시스템 환경에 알맞는 폴더명을 적어준다. 보통은 /usr/local/bin 이다.)

$ ./configure   --prefix=<install-dir>
                       --with-tcltk-framework=/Library/Frameworks
                       --enable-pthread
                       --enable-shared
$ make 

$ sudo make install


5. 첫쨰 Tk GUI 예제 (소스파일명: helloRuby.rb)
require 'tk'
require 'tkextlib/tile'
root = TkRoot.new() 
button = Tk::Tile::TButton.new(root) {text "Hello World"}.grid
Tk.mainloop()



6. 실행하기
$ ruby1.9 helloRuby.rb

7. 실행 결과:


8. 한글 테스트를 위한 둘쨰 Tk GUI 예제 (소스파일명: helloRubyTk.rb)

# coding : utf-8


require 'tk'

require 'tkextlib/tile'

root = TkRoot.new() 

button = Tk::Tile::TButton.new(root) {text "Hello, world!\n안녕하세요?\n한글이 잘 되나 봅시다."}.grid

Tk.mainloop()
 



9. 실행하기
ruby1.9 hellozRuby.rb

10. 실행 결과: 



Posted by Scripter
,

Visual Studio 2010 을 설치하면 Visual F# 도 함께 설칟히기 때문에 Visual Studio 2008 때 처럼 Visual F# 을 별도로 설치하지 않아도 된다.
2011년 3월 3일에 Visual Studio 2010 Service Pack 1 이 출시되면서 Visual F# 도 업데이트되었다.

FSharp 홈페이지: http://www.fsharp.net/

다음은 간단한 F# Hello 예제이다. 컨솔 출력을 위해 printfn 함수를 쓰고 았다


printfn "Hello"
printfn "안녕하세요?"



저 소스를 파일명 hello.fs (또는 hello.fsx) 로 저장하였다면,

fsc --codepage:949 hello.fs

명령으로 컴파일한다, 그러면 실행파일 hello.exe 가 생성된다,
이를 실핼하면 컨솔에 원하는 글다가 출력된다. (한글도 잘 출력된다.)
컴파일하기 위해서는 일반 명령창 대신 윈도우의

"시작메뉴" -> "Microsoft Visual Studio 2010"
-> "Visual Studio Tools"
-> "Visual Studio 명령 프롬프트(2010)"

하여 열리는 을 열어서 Visual Studio 명령 프롬프트 에서 컴파일하고 실행하는 것이 좋다.

이제 GUI Hello 예제(그래픽 사용자 인터페이스()를 갖는 Hello 예제)를 작성해 보자.
(파일명 HelloWorldFSharpForm.fs 로 저장하였다.)

(* 윈도우 7에서는 폰트, 위젯의 사이즈가 윈도우 XP와 맞지 않아 다소 수정하였다. *)

// Filename: HelloWorldFSharpForm.fs
//
// Compile: fsc --codepage:949 --target:winexe --platform:x86 HelloWorldFSharpForm.fs
// Execute: HelloWorldFSharpForm

open System
open System.Drawing
open System.Windows.Forms

// Create the form and a label objects
let frm = new Form(Text = "Hello world by F#", Width = 400, Height = 170)      // Windows 7 을 위해 수정
let btn = new Button(Text = "인사하기", Width=120, Height=30,                          // Windows 7 을 위해 수정
                    TextAlign = ContentAlignment.MiddleCenter)
let displaybox = new Label(Width=320, Height=35,
                    TextAlign = ContentAlignment.MiddleLeft)
let editbox = new TextBox(Width=200, Height=35,
                    TextAlign = HorizontalAlignment.Left)

// Set ‘Font’ property of the label, textbox, button
btn.Font <- new Font("궁서체", 14.0f)
btn.BackColor <- Color.FromArgb(32, 216, 32)
btn.Location <- new System.Drawing.Point(240, 76)
displaybox.BackColor <- Color.FromArgb(255, 255, 255)
displaybox.Font <- new Font("Vernada", 14.0f, FontStyle.Bold)
displaybox.Location <- new Point(15, 20)
editbox.BackColor <- Color.FromArgb(255, 255, 255)
editbox.Location <- new Point(15, 80)
frm.Controls.Add(btn)
frm.Controls.Add(displaybox)
frm.Controls.Add(editbox)
frm.Show()
let dummy = editbox.Focus()  // Set focus to the textbox


// Function that changes the text of the label for button pressed event
let sayHello (e:EventArgs) =
    let msg = editbox.Text
    let dum = editbox.Focus()  // Set focus to the textbox
    // Set the text at the label
    displaybox.Text <- String.Format("Hello, {0}!", msg)

// Function that changes the text of the label for textbox key pressed event
let greet(ev:KeyEventArgs) =
    if ev.KeyCode = Keys.Enter  then
         let msg = editbox.Text
         let dum = editbox.Focus()  // Set focus to the textbox
         // Set the text at the label
         displaybox.Text <- String.Format("Hello, {0}!", msg)

btn.Click.Add(sayHello)
editbox.KeyDown.Add(greet)

do
  Application.Run(frm)





컴파일은 명령

fsc --codepage:949 --target:winexe HelloWorldFSharpForm.fs

으로 한다다. 생성된 실행파일 HelloWorldFSharpForm.exe 를 실행한다.


다음은 윈도우 7에서 실행한 결과를 캡쳐한 그림이다.



 

Posted by Scripter
,

* TeXShop 에서 작성하고 pdflatex 타이프셋으로 컴파일하였다.



 첨부 파일:


 
Posted by Scripter
,
Python 2.x  에서는 print 가 def, for, return 들 처럼 하나의 키워드(예약어)이지만,
Python 3.x 에서는 print 가 하나의 함수이므로 반드시 소괄호를 붙여서 print( ..... )  처럼 써야 한다.


* 파이썬 버전 확인:
--------------------------
python3.2
Python 3.2.1 (v3.2.1:ac1f7e5c0510, Jul  9 2011, 01:03:53) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Cannot read termcap database;
using dumb terminal settings.
>>>


* Python 3.2 용 소스 파일: first-sample-2.py
#!/usr/local/bin/python3.2
# coding: utf8

from math import *

def lg(x):
    return log(x)/log(2)
    
def log10(x):
    return log(x)/log(10)
    
print("이 파이썬 소스는 Mac Lion 에서 TextWrangler 편집기를 사용하여 작성되었음!")
print("----------------")
print("수학식 계산하기:")
print("----------------")
print("pi + e =", pi + e)
print("pi * e =", pi * e)
print("sqrt(pi) + sqrt(e) =", sqrt(pi) + sqrt(e))
print("sqrt(pi + e) =", sqrt(pi + e))
print("sqrt(pi) - sqrt(e) =", sqrt(pi) - sqrt(e))
print("sqrt(pi - e) =", sqrt(pi - e))
print("sin(pi) =", sin(pi))
print("cos(pi) =", cos(pi))
print("tan(pi) =", tan(pi))
print("log(e) = ln(e) =", log(e))
print("lg(2) = log2(2) =", lg(2))
print("log10(1.0/10) =", log10(1.0/10))
print("pow(2, 10) =", pow(2, 10))
print("2**10 =", 2**10)
print("2**100 =", 2**100)
print("2**1000 =", 2**1000)
# print("2**10000 =", 2**10000)
# print("2**100000 =", 2**100000)
print("len(str(2**100000)) =", len(str(2**100000)))



* Max 에서 TextWrangler 를 써서 편집한 화면:




* 소스 파일에 실행 모드 설정하기:
 chmod +x firtst-sample-2.py

* 실행 및 실행 결과:
./first-sample-2.py
이 파이썬 소스는 Mac Lion 에서 TextWrangler 편집기를 사용하여 작성되었음!
----------------
수학식 계산하기:
----------------
pi + e = 5.859874482048838
pi * e = 8.539734222673566
sqrt(pi) + sqrt(e) = 3.421175121605644
sqrt(pi + e) = 2.420717761749361
sqrt(pi) - sqrt(e) = 0.12373258020538769
sqrt(pi - e) = 0.6506234126825963
sin(pi) = 1.2246467991473532e-16
cos(pi) = -1.0
tan(pi) = -1.2246467991473532e-16
log(e) = ln(e) = 1.0
lg(2) = log2(2) = 1.0
log10(1.0/10) = -0.9999999999999998
pow(2, 10) = 1024.0
2**10 = 1024
2**100 = 1267650600228229401496703205376
2**1000 = 1071508607186267320948425049060001810561404811705533607443750388370351051
12493612249319837881569585812759467291755314682518714528569231404359845775746985748
03934567774824230985421074605062371141877954182153046474983581941267398767559165543
946077062914571196477686542167660429831652624386837205668069376
len(str(2**100000)) = 30103


 
Posted by Scripter
,

* 파이썬 버전 확인:
--------------------------
python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Cannot read termcap database;
using dumb terminal settings.
>>>


* Python 2.7 용 소스 파일: first-sample.py
#!/usr/local/bin/python
# coding: utf8

from math import *

def lg(x):
    return log(x)/log(2)
    
def log10(x):
    return log(x)/log(10)
    
print "이 파이썬 소스는 Mac Lion 에서 TextWrangler 편집기를 사용하여 작성되었음!"
print "----------------"
print "수학식 계산하기:"
print "----------------"
print "pi + e =", pi + e
print "pi * e =", pi * e
print "sqrt(pi) + sqrt(e) =", sqrt(pi) + sqrt(e)
print "sqrt(pi + e) =", sqrt(pi + e)
print "sqrt(pi) - sqrt(e) =", sqrt(pi) - sqrt(e)
print "sqrt(pi - e) =", sqrt(pi - e)
print "sin(pi) =", sin(pi)
print "cos(pi) =", cos(pi)
print "tan(pi) =", tan(pi)
print "log(e) = ln(e) =", log(e)
print "lg(2) = log2(2) =", lg(2)
print "log10(1.0/10) =", log10(1.0/10)
print "pow(2, 10) =", pow(2, 10)
print "2**10 =", 2**10
print "2**100 =", 2**100
print "2**1000 =", 2**1000
# print "2**10000 =", 2**10000
# print "2**100000 =", 2**100000
print "len(str(2**100000)) =", len(str(2**100000))


* Max 에서 TextWrangler 를 써서 편집한 화면:




* 소스 파일에 실행 모드 설정하기:
 chmod +x firtst-sample.py

* 실행 및 실행 결과:
./first-sample.py
이 파이썬 소스는 Mac Lion 에서 TextWrangler 편집기를 사용하여 작성되었음!
----------------
수학식 계산하기:
----------------
pi + e = 5.85987448205
pi * e = 8.53973422267
sqrt(pi) + sqrt(e) = 3.42117512161
sqrt(pi + e) = 2.42071776175
sqrt(pi) - sqrt(e) = 0.123732580205
sqrt(pi - e) = 0.650623412683
sin(pi) = 1.22464679915e-16
cos(pi) = -1.0
tan(pi) = -1.22464679915e-16
log(e) = ln(e) = 1.0
lg(2) = log2(2) = 1.0
log10(1.0/10) = -1.0
pow(2, 10) = 1024.0
2**10 = 1024
2**100 = 1267650600228229401496703205376
2**1000 = 1071508607186267320948425049060001810561404811705533607443750388370351051
12493612249319837881569585812759467291755314682518714528569231404359845775746985748
0393456777482423098542107460506237114187795418215304647498358194126739876755916554
3946077062914571196477686542167660429831652624386837205668069376
len(str(2**100000)) = 30103


Posted by Scripter
,

Visual Studio 2010 을 설치하면 Visual F# 도 함께 설칟히기 때문에  Visual Studio 2008 때 처럼 Visual F# 을 별도로 설치하지 않아도 된다.
2011년 3월 3일에 Visual Studio 2010 Service Pack 1 이 출시되면서 Visual F# 도 업데이트되었다.

               FSharp 홈페이지: http://www.fsharp.net/

다음은 간단한 F# Hello 예제이다. 컨솔 출력을 위해 printfn 함수를 쓰고 았다


printfn "Hello"
printfn "안녕하세요?"



저 소스를 파일명 hello.fs (또는 hello.fsx) 로 저장하였다면,

       fsc --codepage:949 hello.fs

명령으로 컴파일한다, 그러면 실행파일 hello.exe 가 생성된다,
이를 실핼하면 컨솔에 원하는 글다가 출력된다. (한글도 잘 출력된다.)
컴파일하기 위해서는 일반 명령창 대신 윈도우의

      "시작메뉴" -> "Microsoft Visual Studio 2010" 
                     -> "Visual Studio Tools" 
                     -> "Visual Studio 명령 프롬프트(2010)"

하여 열리는 을 열어서 Visual Studio 명령 프롬프트 에서 컴파일하고 실행하는 것이 좋다.

이제 GUI Hello 예제(그래픽 사용자 인터페이스()를 갖는 Hello 예제)를 작성해 보자.
(파일명 HelloWorldFSharpForm.fs 로 저장하였다.)


// Filename: HelloWorldFSharpForm.fs
//
// Compile: fsc --codepage:949 --target:winexe --platform:x86 HelloWorldFSharpForm.fs
// Execute: HelloWorldFSharpForm

open System
open System.Drawing
open System.Windows.Forms

// Create the form and a label objects
let frm = new Form(Text = "Hello world by F#", Width = 360, Height = 160)
let btn = new Button(Text = "인사하기", Width=100, Height=30,
                    TextAlign = ContentAlignment.MiddleCenter)
let displaybox = new Label(Width=320, Height=35,
                    TextAlign = ContentAlignment.MiddleLeft)
let editbox = new TextBox(Width=200, Height=35,
                    TextAlign = HorizontalAlignment.Left)

// Set ‘Font’ property of the label, textbox, button
btn.Font <- new Font("궁서체", 14.0f)
btn.BackColor <- Color.FromArgb(32, 216, 32)
btn.Location <- new System.Drawing.Point(230, 76)
displaybox.BackColor <- Color.FromArgb(255, 255, 255)
displaybox.Font <- new Font("Vernada", 14.0f, FontStyle.Bold)
displaybox.Location <- new Point(15, 20)
editbox.BackColor <- Color.FromArgb(255, 255, 255)
editbox.Location <- new Point(15, 80)
frm.Controls.Add(btn)
frm.Controls.Add(displaybox)
frm.Controls.Add(editbox)
frm.Show()
let dummy = editbox.Focus()  // Set focus to the textbox

// Function that changes the text of the label for button pressed event
let sayHello (e:EventArgs) =
    let msg = editbox.Text
    let dum = editbox.Focus()  // Set focus to the textbox
    // Set the text at the label
    displaybox.Text <- String.Format("Hello, {0}!", msg)

// Function that changes the text of the label for textbox key pressed event
let greet(ev:KeyEventArgs) =
    if ev.KeyCode = Keys.Enter  then
         let msg = editbox.Text
         let dum = editbox.Focus()  // Set focus to the textbox
         // Set the text at the label
         displaybox.Text <- String.Format("Hello, {0}!", msg)

btn.Click.Add(sayHello)
editbox.KeyDown.Add(greet)

do
  Application.Run(frm)




컴파일은 명령

        fsc --codepage:949 --target:winexe HelloWorldFSharpForm.fs

으로 한다. 생성된 실행파일 HelloWorldFSharpForm.exe 를 실행한다.


다음은 실행 결과를 캡쳐한 그림이다.

 

 


 

Posted by Scripter
,

 IronPython 은 닷넷 상에서 동작하는 애플리케이션을 만드는 Python 기반 언어 및 툴이다.
2011년 3월 12일에 출시된 IronPython 2.7 은 닷넷 4.0 과 Visual Studio 2010 에 최적화되어 있다.

               IronPython 홈페이지: http://ironpython.net/

다음은 IronPython 용으로 만들어진 초 간단 Hello 예제의 소스이다. (파일명을 hello.py 로 저장하였다.)

# coding: 949

print "Hello"
print "안녕하세요?"


소스파일의 인코딩이 ms949 나 cp949도 아니고 그냥 949 이다. (IronPython 2,7 에서는 이렇게 해야 한글을 사용할 수 있다.)

저 소스를 실행하려면 명령창을 열고,

    set PATH=%IRONPYTHON_HOME%;%PATH%

한 다음

    ipy hello.py
    (또는 ipyw hello.py)

하면 된다. (한글도 잘 출력된다.)
IRONPYTHON_HOME 은 IronPython 2.7 이 설치된 폴더의 경로명로 저장한 환경변수이다.
어번에는 저 소스를 컴파일하여 실행파일 hello.exe 를 만들어 보겠다.

ipy %IRONPYTHON_HOME%Tools\Scripts\pyc.py /main:hello.py /target:exe /platform:x86

명령창에서 위의 명령을 내리면 hello.dll 파일과 hello.exe 파일이 생긴다.
만일 64비트 윈도우 환경에서 실행될 파일을 만들자면 옵션 /platform:x86 대신 /platform:x64 로 한다.
이제 hello.exe 를 실행하면 실헹결과로 명령창에 메세지 두 줄이 출력될 것이다.

다른 시스템에 가져 가서 실행하려면 그 시스템에 런타임 환경인 닷넷 4.0 이 설치되어 있어야 하고,
hello.dll 파일과 hello.exe 파일만 가져가면 된다.


이제 GUI Hello 예제(그래픽 사용자 인터페이스()를 갖는 Hello 예제)를 작성해 보자.
(파일명 HelloWinIPT.py 로 저장하였다.)

# coding: 949

# Filename: HelloWinIPY.py
#  Compile: ipy pyc.py /main:HelloWinIPY.py /target:winexe /platform:x86

import clr

clr.AddReferenceByPartialName("System.Windows.Forms")
clr.AddReferenceByPartialName("System.Drawing")

from System.Windows.Forms import *
from System.Drawing import *

f = Form()
f.Width = 300
f.Height = 140
font = Font("Verdana", 16)
f.Text = "Greeting"

lb = Label(Text = "Hello")
lb.Font = font
lb.Location = Point(10, 20)
lb.Width = 260
f.Controls.Add(lb)

tbox = TextBox()
tbox.Location = Point(10, 60)
tbox.Width = 170
f.Controls.Add(tbox)

btn = Button(Text = "인사하기")
btn.Location = Point(190, 60)
btn.Width = 90
f.Controls.Add(btn)

def sayHello():
    lb.Text = "Hello, " + tbox.Text + "!"
   

def click(f, a):
    sayHello()
   

def greet(f, ev):
    if ev.KeyChar == chr(13):
        sayHello()
   

btn.Click += click
tbox.KeyPress += greet

Application.Run(f)


명령창에서 

    ipy HelloWinIPY.py
    (또는 ipyw HelloWinIPY.py)

명령으로 실행된다. 다음은 실행 결과를 캡쳐한 그림이다.


실행 파일 HelloWinIPY.exe 파일을 만들려면

ipy %IRONPYTHON_HOME%Tools\Scripts\pyc.py /main:HelloWinIPY.py /target:winexe /platform:x86

명령을 내린다. 그리면 HelloWinIPY.dll 파일과 HelloWinIPY.exe 파일이 생긴다.
(만일 64비트 윈도우 환경에서 실행될 파일을 만들자면 옵션 /platform:x86 대신 /platform:x64 로 한다.)
이제 HelloWinIPY.exe 를 실행하면 위와 마찬가지로 실행된다.
(메세지 출력은 "인사하기" 버튼을 클릭해도 되고, 텍스트 박스에서 엔터 키를 눌러도 된다.)

마찬가지로 다른 시스템에 가져 가서 실행하려면 그 시스템에 (런타임 환경인) 닷넷 4.0 이 설치되어 있어야 하고, HelloWinIPY.dll 파일과 HelloWinIPY.exe 파일만 가져가면 된다.


Posted by Scripter
,

GNUStep 이 설치되었다면 헤더 파일 Foundation.h 를 수입(import)하였겠지만,
GNUStep 이 설치되지 않아 헤더 파일 Object.h 를 수입(import)하였다.


헤더 파일 HelloWorld.h
#import <Objc/Object.h>

@interface HelloWorld : Object
-(void) sayHello;
@end


구현 파일 HelloWorld.m
#import <stdio.h>
#import <Objc/Object.h>
#import "HelloWorld.h"

@implementation HelloWorld
-(void) sayHello {
    printf("Hello, world!\nThis was created by the Objective-C language.\n");
}
@end


실행부 파일 main.m
/*
 * Filename: main.m
 *
 *  Compile: gcc -v -o HelloWorld HelloWorld.m main.m -lobjc
 *  Execute: ./HelloWorld
 *
 *     Date: 2011. 8. 4.
 *   Author: phk
 */

#import <stdio.h>
#import <Objc/Object.h>
#import "HelloWorld.h"

int main() {
    id obj = [HelloWorld alloc];
    [obj sayHello];
    return 0;
}


컴파일하기
$ gcc -v -o HelloWorld HelloWorld.m main.m -lobjc


실행하기
 $ ./HelloWorld
Hello, world!
This was created by the Objective-C language.



Posted by Scripter
,