วันศุกร์ที่ 15 ตุลาคม พ.ศ. 2553

การ Compile ไฟล์ Interface, Implementation และ Main รวมกัน (ภาษา Objective-C)

ภาษา Objective-C สามารถแยกไฟล์ออกเป็น
- Interface มักระบุนามสกุลเป็น .h
- Implementation มักระบุนามสกุลเป็น .m
- Main Program มักระบุนามสกุลเป็น .m
(คล้ายกับภาษา C++ เพียงแต่ .m เทียบได้กับ .cpp)

ตัวอย่างต่อไปนี้ คืองานที่เรียกว่า Fraction ครับ
- ให้เพื่อนๆสร้าง Folder ชื่อ Fraction ไว้ ณ D:\MyObjectiveC
- สร้างไฟล์ Interface ชื่อ Fraction.h บันทึกไว้ ณ D:\MyObjectiveC\Fraction โดยมีรายละเอียดดังนี้

- สร้างไฟล์ Implementation ชื่อ Fraction.m บันทึกไว้ ณ D:\MyObjectiveC\Fraction โดยมีรายละเอียดดังนี้

***ข้อสังเกต เมื่อต้องการระบุถึงไฟล์สกุลใดๆก็ตามภายใน Directory ปัจจุบัน คำสั่ง #import จะต้องใช้เครื่องหมาย " " มิใช่เครื่องหมาย < > (จากตัวอย่างระบุไปยัง Fraction.h ณ D:\MyObjectiveC\Fraction ซึ่งเรียกว่า Directory ปัจจุบัน)

- สร้างไฟล์ Main Program ชื่อ Main.m บันทึกไว้ ณ D:\MyObjectiveC\Fraction โดยมีรายละเอียดดังนี้

- เปิด Shell แล้วพิมพ์ cd D:\MyObjectiveC

- ต่อด้วย cd Fraction

- ซึ่งจะอ้างถึง Directory ปัจจุบันที่เก็บไฟล์ทั้งสามดังกล่าว

- เปิด Shell แล้วป้อนคำสั่งต่อไปนี้ (เพื่อนๆสามารถคัดลอกคำสั่งไว้ ณ Notepad ก่อนก็ได้ แล้วจึงลบ Enter ของแต่ละบรรทัดออก ให้เหมือนกับการพิมพ์ที่ต้องติดต่อเนื่องกันไปเท่านั้น แล้วจึงคลิกขวาที่กรอบหัวของหน้าต่าง Shell แล้วเลือก Edit -> Paste ก็ได้ครับ)

gcc -o Main Main.m Fraction.m
-I 'C:/Program Files/GNUstep/GNUstep/System/Library/Headers/'
-L 'C:/Program Files/GNUstep/GNUstep/System/Library/Libraries/'
-lobjc -lgnustep-base
-fconstant-string-class=NSConstantString
-enable-auto-import

***ข้อสังเกต
- เมื่อ Compile จะต้องบอกให้ Compiler นำไฟล์ .m (ไฟล์ Implementation) เหล่านั้นมารวมเข้ากับไฟล์ Main Program (จากตัวอย่างคือ Fraction.m)
- โดยมีรูปแบบเบื้องต้น (เท่าที่ผมทราบขณะนี้) ดังนี้

- ทดสอบ Run พิมพ์ Main.exe

ไม่มีความคิดเห็น:

แสดงความคิดเห็น