บันทึกทำ RAPTOR ให้ RUN แบบ Command Line บน Linux ได้
แบบสำเร็จรูป
ดาวโหลดนี่ WineINW มัน เป็น .wine ให้เอาไปใส่ใน home folder ของ user ที run (ตัวนี้ยังไม่สามาร ใช้ /compile ได้ ถ้าอยากใช้ต้อง PATCH ก่อน ดูด้านล่งสุด)
วิธีใช้
- ให้ แตก wine_inw.tar.gz ไปไว้ที่ ~ (home directory)
- จบแลว แต่เพื่ทดสอบให้ลองสร้าง test.rap ให้สั่งปริ้นอะไรออกมาก็ได้ แลวสั่ง
wine C:\\RAPTOR\\raptor.exe ./test.rap /run in.txt out.txt (หรือแบบนี้หว่าจำไม่ได้ wine C:\\RAPTOR\\raptor.exe ./test.rap /run < in.txt > out.txt ลองทำทั้ง 2 แบบแล้วกัน)
จำเป็นต้องใช้ ./test.rap ไม่สามารถย่อเหลือแค่ test.rap ได้ เพราะมันจะ bug เหมือนมันไม่มองเป็น path ไรนี่แหละขี้เกียจดู
วิธีทำแบบยาว
- ต้องแก้ Code โดยทำตามนี้ก่อน
- จากนั้นสามารถโหลด Code ตัวนี้ไป Compile เพื่อให้ได้ RAPTOR ที่สามารถใช้งานบน Pure CLI ได้
- หลังจาก Compile แล้ว ถ้าเป็นตาม code ผม เหมือนจะวางไฟล์ผิด ให้เอา raptor.exe ใน bin/Debug ไปวางทับของปกติ ถึงจะสามารถใช้ได้
- ต่อ มาเราต้องเตรียม Linux(ผมทำสอบบน ubuntu 12.04) โดยตอนนี้ต้องเป็น linux desktop เท่านั้น เพื่อให้สามารถลง .NET Framework และ Mono ได้
- ลง wine ( sudo apt-get install wine )
- หลัง จากนั้นให้ติดตั้ง .NET Framework(ถ้าจำไม่ผิดใช้ 2.0 กับ 4.0 แต่ถ้าไม่ลงก็อาจจะได้เหมือนกัน) และ Mono ผ่านทาง winetricks (ทางอื่นน่าจะได้ แต่แบบนี้สำหรับผมง่ายดี)
- กอปตัว RAPTOR ทั้งหมดมาวางใน ~/.wine/drive_c/ หรือที่อื่นก็ได้ตามสะดวกแหละ
- จากนั้นลองทดสอบตามด้านบนดู (ถ้าถูกต้อง มันจะไม่มี MsgBox หรือ GUI อะไรเด้งขึ้นมาทั้งนั้น)
- ถ้าทดสอบแล้วผ่าน ให้กอป ./wine ไปวางที่ home directory ของ user ที่จะใช้บน server ได้
- ติดตั้ง wine บน server
จบ
Patch สำหรับทำห้ใช้ /compile ได้
สามารถ Download ได้จากที่นี่ หรือเอาจากที่ compile ใหม่จากด้านบนก็ได้ โดยเอาไปวางทับใน ~/.wine/drive_c/RAPTOR/ จบ
วิธีใช้คือ สั่ง wine C:\\RAPTOR\\raptor.exe ./test.rap /compile จะได้ compiled.exe ออกมา(ขี้เกียจทำชื่อ dynamic เลย fix ชื่อนี้เลย 55)
สามารถสั่งให้ทำงานได้โดย wine ./compiled.exe
เพิ่มเติม
เนื่องจากปกติ wine เปิด Debug ไว้ทำให้มันจะมีอะไรหลุดมาตอน run เป็นพรวนเลย สามารถเอาออกได้โดยการสั่ง WINEDEBUG=-all ไว้ด้านหน้า เช่น
WINEDEBUG=-all wine C:\\RAPTOR\\raptor.exe ./test.rap /run < in.txt > out.txt หรือ
WINEDEBUG=-all wine ./compiled.exe
ข้อมูลสำคัญที่จะเป็นน่าจะหมดแล้ว คราวหน้าเวลางมต่อจะได้ง่ายๆ 555