บันทึกทำ RAPTOR ให้ RUN แบบ Command Line บน Linux ได้

แบบสำเร็จรูป

ดาวโหลดนี่ WineINW มัน เป็น .wine ให้เอาไปใส่ใน home folder ของ user ที run (ตัวนี้ยังไม่สามาร ใช้ /compile ได้ ถ้าอยากใช้ต้อง PATCH ก่อน ดูด้านล่งสุด)

วิธีใช้

  1. ให้ แตก wine_inw.tar.gz ไปไว้ที่ ~ (home directory)
  2. จบแลว แต่เพื่ทดสอบให้ลองสร้าง 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 ไรนี่แหละขี้เกียจดู 

วิธีทำแบบยาว

  1. ต้องแก้ Code โดยทำตามนี้ก่อน
  2. จากนั้นสามารถโหลด Code ตัวนี้ไป Compile เพื่อให้ได้ RAPTOR ที่สามารถใช้งานบน Pure CLI ได้
  3. หลังจาก Compile แล้ว ถ้าเป็นตาม code ผม เหมือนจะวางไฟล์ผิด ให้เอา raptor.exe ใน bin/Debug ไปวางทับของปกติ ถึงจะสามารถใช้ได้
  4. ต่อ มาเราต้องเตรียม Linux(ผมทำสอบบน ubuntu 12.04) โดยตอนนี้ต้องเป็น linux desktop เท่านั้น เพื่อให้สามารถลง .NET Framework และ Mono ได้
  5. ลง wine ( sudo apt-get install wine )
  6. หลัง จากนั้นให้ติดตั้ง .NET Framework(ถ้าจำไม่ผิดใช้ 2.0 กับ 4.0 แต่ถ้าไม่ลงก็อาจจะได้เหมือนกัน) และ Mono ผ่านทาง winetricks (ทางอื่นน่าจะได้ แต่แบบนี้สำหรับผมง่ายดี)
  7. กอปตัว RAPTOR ทั้งหมดมาวางใน ~/.wine/drive_c/ หรือที่อื่นก็ได้ตามสะดวกแหละ
  8. จากนั้นลองทดสอบตามด้านบนดู (ถ้าถูกต้อง มันจะไม่มี MsgBox หรือ GUI อะไรเด้งขึ้นมาทั้งนั้น)
  9. ถ้าทดสอบแล้วผ่าน ให้กอป ./wine ไปวางที่ home directory ของ user ที่จะใช้บน server ได้
  10. ติดตั้ง 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