Free Pascal Compiler

ภาพหน้าจอของซอฟแวร์:
Free Pascal Compiler
รายละเอียดซอฟแวร์:
รุ่น: 3.0.4 การปรับปรุง
วันที่อัพโหลด: 22 Jun 18
ผู้พัฒนา: Daniel Mantione
การอนุญาต: ฟรี
ความนิยม: 262

Rating: 4.0/5 (Total Votes: 2)

ฟรี Pascal Compiler (aka FPK Pascal) เป็นคอมไพเลอร์ Pascal ที่สนับสนุนระบบปฏิบัติการต่อไปนี้: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX และ Classic Amiga

ฟรี Pascal Compiler มีให้สำหรับโปรเซสเซอร์ต่างๆเช่น Intel x86, AMD64 / x86 64, PowerPC, PowerPC64, Sparc และ ARM

ฟรี Pascal Compiler มีภาษาที่สะอาดมากใช้ Makefiles ไม่เหมือนภาษาเขียนโปรแกรมมากที่สุดก็คือ Fast กับ F ใหญ่แต่ละหน่วยมีตัวระบุของตัวเองและรวม IDE (Integrated Development Environment)

นอกจากนี้ซอฟต์แวร์ยังมีการผสานรวมที่ดีกับผู้ประกอบการโปรแกรมเชิงวัตถุ smartlinking ความเป็นอิสระในการกระจายและสามารถใช้งานร่วมกับรหัสที่มีอยู่

มีอะไรใหม่ ในนี้

  • มีอะไรใหม่ ในเวอร์ชัน:

    • การเปลี่ยนแปลงภาษา:
    • สายที่สืบทอดชื่อ:
    • พฤติกรรมเก่า: สายที่สืบทอดแบบไม่ระบุตัวตนสามารถเรียกผ่านทางเมธอดใดก็ได้ในคลาสแม่ที่ยอมรับอาร์กิวเมนต์ที่เข้ากันได้กับพารามิเตอร์ของวิธีการปัจจุบัน
    • พฤติกรรมใหม่: มีการโทรติดต่อที่ได้รับการแจ้งเตือนแบบไม่ระบุตัวตนเพื่อเรียกใช้วิธีการในคลาสแม่ซึ่งถูกแทนที่โดยระบบปัจจุบัน
    • ตัวอย่าง: ดูที่ http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp ในรุ่นก่อนหน้าของ FPC สายที่สืบทอดใน tc3.test จะเรียกผ่านทาง tc2.test (b: byte; l: longint = 1234); ตอนนี้เรียกผ่าน tc.test
    • เหตุผล: สอดคล้องกับเอกสารของ FPC, ความเข้ากันได้ของ Delphi
    • วิธีแก้ไข: ถ้าคุณต้องการให้คอมไพเลอร์ตัดสินใจว่าจะใช้วิธีใดในการกำหนดพารามิเตอร์ให้ใช้นิพจน์การรับสายที่สืบทอดมาอย่างครบถ้วนเช่นการทดสอบที่สืบทอด (b)
    • ตัวปรับค่าเกินพิกเซลต้องอยู่ในอินเทอร์เฟซ:
    • พฤติกรรมเก่า: สามารถประกาศฟังก์ชัน / ขั้นตอน / เมธอดเป็นเกินพิกัดในการใช้งานได้
    • พฤติกรรมใหม่: หากมีการใช้คำสั่ง overload ก็จะต้องปรากฏในอินเทอร์เฟซ
    • สาเหตุ: กลไกเก่าอาจทำให้ยากที่จะค้นหาปัญหา (ขึ้นอยู่กับว่าการใช้งานได้ถูกแยกวิเคราะห์แล้วหรือไม่คอมไพเลอร์จะปฏิบัติตามขั้นตอนเหมือนกับถูกประกาศโดย / ไม่เกิน) อาจทำให้เกิดการคอมไพล์ใหม่ที่ไม่พึงประสงค์เนื่องจาก เพื่อประสานการเปลี่ยนแปลง crc และความเข้ากันได้ของ Delphi
    • วิธีแก้ไข: ตรวจสอบให้แน่ใจว่ามีการใช้ตัวปรับค่าเกินพิกัดทั้งในอินเทอร์เฟซและในการติดตั้งหากคุณใช้
    • การเปลี่ยนแปลงหน่วย:
    • มีหลายวิธีในการเปลี่ยนลายเซ็น TDataset (TRecordBuffer):
    • พฤติกรรมเก่า: หลายวิธี (เสมือน) ของ TDataset มีพารามิเตอร์ประเภท & quot; pchar & quot; ซึ่งมักเรียกว่า & quot; buffer & quot;
    • ลักษณะการทำงานใหม่: ชนิดของพาร์ติชันถูกเปลี่ยนเป็น TRecordBuffer ขณะนี้ประเภทนี้ยังคงเป็นนามแฝงสำหรับ p (ansi) char แต่ในเวลาจะเปลี่ยนเป็น pbyte สำหรับสาขา 2.7.1 / 2.8.0 ซึ่งเทียบเท่ากับ D2009 +
    • เหตุผล: การเตรียมความพร้อมสำหรับ Delphi 2009 + ความเข้ากันได้และการปรับปรุงการพิมพ์โดยทั่วไป ใน Delphi 2009 + (และโหมด FPC ที่เข้ากันได้อย่างสมบูรณ์ในอนาคต) pchar ไม่ใช่ตัวชี้ไปยังไบต์อีกต่อไป การเปลี่ยนแปลงนี้จะผสานกลับไปเป็น 2.6 (.2) แต่มี TRecordBuffer = pchar
    • วิธีแก้ไข: เปลี่ยนวิธีเสมือนที่เกี่ยวข้องเพื่อใช้ TRecordBuffer สำหรับพารามิเตอร์บัฟเฟอร์ กำหนด TRecordBuffer = pansichar เพื่อให้ Delphis และ FPCs ทำงานได้ดีขึ้น ในที่ที่มีการพิมพ์บัฟเฟอร์ไม่ใช้ pchar แต่เป็น TRecordbuffer สัญลักษณ์
    • DLLParam เปลี่ยนจาก Longint เป็น PtrInt:
    • ลักษณะการทำงานเก่า: DLLParam เป็นประเภท Longint แม้ใน Win64
    • พฤติกรรมใหม่: DLLParam เป็นประเภท PtrInt แล้วในระบบ 64 บิท
    • เหตุผล: ป้องกันข้อมูลสูญหายให้ตรงกับประกาศในส่วนหัวของ Windows
    • การแก้ไข: เปลี่ยนประกาศของขั้นตอนที่ใช้เป็น dll hook เพื่อใช้พารามิเตอร์ PtrInt แทน Longint
    • สัญลักษณ์บางตัวใน Unix และ Unixutils เลิกใช้แล้ว:
    • การทำงานเก่า: ไม่มีคำเตือนที่เลิกใช้สำหรับ unixutils.getfs (หลายตัวแปร), unix.fpsystem (shortstring version only), Unix.MS_ ค่าคงที่และ unix.tpipe unix.statfs
    • ลักษณะการทำงานใหม่: คอมไพเลอร์จะเปล่งคำเตือนที่ไม่สนับสนุนสำหรับสัญลักษณ์เหล่านี้ ในรุ่นอนาคตเหล่านี้อาจถูกลบออก
    • เหตุผล: getfs ถูกแทนที่ด้วยฟังก์ชัน cross-platform แบบ sysutils.getfilehandle นานมาแล้ว fpsystem (shortstring) เป็นส่วนที่เหลือของการโยกย้าย 1.0.x- & gt; 2.0.x (เวอร์ชัน ansistring ยังคงสนับสนุนอยู่) ค่าคงที่ของ MS_ มีสำหรับการโทร msync ที่ไม่ได้รับการสนับสนุนโดย FPC จึงไม่ได้ใช้และไม่ได้เลือกไว้ กว่าทศวรรษและอาจถึงวันที่ kernel 1.x ครั้ง tpipe เป็นนามแฝง 1.0.x ของ baseunix.TFildes หน่วยที่มีการย้ายท่อ (fp) ไปในระหว่างชุด 2.0 Unix.statfs เป็นเวอร์ชันที่โหลดไม่ได้ถูกเปลี่ยนชื่อเป็นคำนำหน้า fp * เมื่อมีการเปลี่ยนชื่อเป็น 2.4.0
    • การแก้ไข: ใช้ตัวแปรใหม่ (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes) ในกรณีของค่าคงที่ของ MS_ ให้หาค่าปัจจุบันสำหรับค่าคงที่จากตำแหน่งเดียวกันกับที่คุณได้รับรหัสที่ใช้
    • เปลี่ยนพฤติกรรม TStrings.DelimitedText (หน่วยระดับชั้น):
    • พฤติกรรมเดิม: หาก StrictDelim เป็นจริง TStrings.DelimitedText ไม่ปฏิบัติตามข้อกำหนด SDF format format (ซึ่งกำหนดไว้ในความช่วยเหลือของ Delphi) อย่างน้อยที่สุดในกรณีของช่องว่าง (และอาจเป็นอักขระ ASCII ต่ำอื่น ๆ ) ที่อยู่ด้านหน้าและด้านท้าย ของฟิลด์เช่นเดียวกับคำพูดและตอนท้ายบรรทัด แย่ลงถ้า StrictDelimiter เป็นจริงและในกรณีที่กล่าวถึงข้างต้นการบันทึก TString .DimimitText และการโหลดข้อความใน TString อื่นนำไปสู่ความแตกต่างระหว่างทั้งสอง หมายเหตุ: StrictDelimiter เป็นค่าดีฟอลต์โดยค่าเริ่มต้น
    • พฤติกรรมใหม่: FPC ดำเนินการตามพฤติกรรม Delphi
    • เหตุผล: ความสม่ำเสมอ (การเขียนและการอ่าน DelimitedText จะทำให้สตริงเดียวกัน) ความเข้ากันได้ของ Delphi (ตามข้อกำหนด SDF)
    • วิธีแก้ไข: ตรวจสอบรหัสที่มีอยู่ซึ่งอ่านหรือเขียน DelimitedText; ถ้าจำเป็นแปลงข้อมูลหรือเขียนรหัสแปลงสัญญาณ ดูการทดสอบ webtbs tw19610.pp สำหรับการทดสอบอย่างละเอียด
    • fcl-image TTiffIDF เปลี่ยนชื่อเป็น TTiffIFD:
    • พฤติกรรมเก่า: คลาสผู้ช่วยเหลือ tiff สำหรับ & quot; ไดเรกทอรีไฟล์รูปภาพ & quot; ถูกสะกดผิด TiffIDF (หน่วย tiffcmn)
    • การทำงานใหม่: ตอนนี้เปลี่ยนชื่อเป็น TTiffIFD
    • เหตุผล: ความสม่ำเสมอการใช้งานต่ำ
    • วิธีแก้ไข: เปลี่ยนชื่อตัวระบุตามความเหมาะสม
    • หน่วย libc ออกคำเตือนที่คัดค้าน:
    • พฤติกรรมเก่า: ในขณะที่เลิกใช้งานเป็นเวลาหลายปีหน่วย libc ไม่ได้ออกคำเตือนที่คัดค้าน
    • การทำงานใหม่: คำเตือนที่เลิกใช้จะปรากฏขึ้นเมื่อใช้หน่วย libc เพื่อกระตุ้นให้คุณอัปเดต
    • เหตุผล: หน่วย libc เป็นหน่วยมรดก Kylix ที่มีการพกพาที่ จำกัด
    • การแก้ไข: ใช้หน่วย FPC ที่เหมาะสมตามที่อธิบายไว้ในหน่วย libc
    • อื่น ๆ :
    • การสนับสนุน UPX ถูกนำออก:
    • การทำงานเก่า: มีการสนับสนุน UPX (ตัวประมวลผลปฏิบัติการ) ใน FPC Makefiles และ DOS และ Windows FPC ได้รวมเอาไบนารี UPX ไว้ด้วย
    • การทำงานใหม่: นำออกทั้งหมด
    • เหตุผล: ปล่อยไบนารีไม่ได้รับการอัปเดตเป็นเวลานาน ขนาดของไฟล์ปฏิบัติการของ FPC โดยทั่วไปไม่มีนัยสำคัญในวันนี้เมื่อเทียบกับขนาดการติดตั้งทั้งหมดและการใช้ UPX เป็นครั้งคราวทำให้เกิดความรำคาญเล็กน้อย (บวกผิดจากเครื่องสแกนไวรัสพฤติกรรมของเพจที่เลวร้ายยิ่งกว่าระบบปฏิบัติการไม่สามารถใช้ได้กับบางส่วนที่ปฏิบัติการได้ ... )
    • วิธีแก้ไข: ดาวน์โหลดและติดตั้ง UPX จากหน้าแรกโดยทั่วไปแล้วประเมินความจำเป็นในการใช้งาน

    • มีอะไรใหม่ ในเวอร์ชัน 2.4.4:

      • รุ่นนี้มีการแก้ไขไลบรารีมากที่สุดตั้งแต่ต้นเดือนมิถุนายน 2010 จนถึงเดือนมีนาคม 2011
      • นอกจากนี้ยังมีการแก้ไขคอมไพเลอร์บางส่วนที่เกี่ยวข้องกับ 64 บิต

      • Delphi เช่นรีซอร์สสำหรับทุกแพลตฟอร์ม
      • >
      • ปรับปรุงข้อมูลการแก้ปัญหาแคระ
      • เป้าหมายใหม่หลายเป้าหมาย
      • ระบบปฏิบัติการ Mac OS X 64 บิต (x86_64 / ppc64)
      • iPhone (Mac OS X / Arm)
      • Haiku (จากครอบครัว BeOS)
      • การสนับสนุน ARM EABI ที่ดีขึ้น
      • การเพิ่มประสิทธิภาพของโปรแกรมทั้งหมด
      • bugfixes ของคอมไพเลอร์และการอัปเดตห้องสมุดครึ่งปี (ตั้งแต่ 2.2.4)

      • ทั้งหมด:
      • ชุดทดลอง - เครื่องมือติดตั้ง
      • แพคเกจ:
      • เพิ่มการสนับสนุนการอ่าน / เขียน TIFF ในรูปแบบ Fcl
      • การปรับปรุงและแก้ไขในการสนับสนุน CHM
      • แก้ไขการเชื่อมโยงแพ็คเกจ gtk2 กับเวอร์ชัน gtk เหนือ 2.13.4
      • IDE:
      • เพิ่มการสนับสนุนไฟล์ช่วยเหลือ CHM

  • ซอฟต์แวร์ที่คล้ายกัน

    GNU Smalltalk
    GNU Smalltalk

    11 May 15

    GNU BPEL2oWFN
    GNU BPEL2oWFN

    3 Jun 15

    SWIG
    SWIG

    7 Mar 16

    ความคิดเห็นที่ Free Pascal Compiler

    ความคิดเห็นที่ไม่พบ
    เพิ่มความคิดเห็น
    เปิดภาพ!
    ค้นหาตามหมวดหมู่