Free Pascal Compiler

البرمجيات قطة:
Free Pascal Compiler
تفاصيل البرنامج:
الإصدار: 3.0.4 محدث
تاريخ إيداع: 22 Jun 18
المطور: Daniel Mantione
ترخيص: حرر
شعبية: 262

Rating: 4.0/5 (Total Votes: 2)

Free Pascal Compiler (aka FPK Pascal) هو مترجم باسكال مفتوح المصدر يدعم أنظمة التشغيل التالية: Linux و FreeBSD و NetBSD و MacOSX / Darwin و MacOS classic و DOS و Win32 و OS / 2 و BeOS و SunOS (Solaris ) و QNX و Classic Amiga.

يتوفر Free Pascal Compiler لمعالجات مختلفة Intel x86 و Amd64 / x86 64 و PowerPC و PowerPC64 و Sparc و ARM.

Free Pascal Compiler تحتوي على لغة نظيفة جدًا ، ولا تستخدم Makefiles بخلاف لغات البرمجة ، فهي سريعة مع F كبيرة ، كل وحدة لها معرفات خاصة بها ، وتتضمن IDE (بيئة التطوير المتكاملة).

علاوة على ذلك ، يتميز البرنامج بتكامل كبير مع المجمعات ، البرمجة الشيئية ، smartlinking ، استقلال التوزيع ، وهو متوافق مع الكود الحالي.

ما هو الجديد في هذا الإصدار:

هذا الإصدار هو تحديث نقطة إلى 3.0 ويحتوي على حزم bugfixes والتحديثات ، بعضها ذات أولوية عالية.

ما هو الجديد في الإصدار:

تغييرات اللغة:
المكالمات الموروثة مجهول:
السلوك القديم: يمكن للمكالمة الموروثة المجهولة الاتصال بأي طريقة في فئة رئيسية تقبل الوسيطات المتوافقة مع معلمات الطريقة الحالية.
سلوك جديد: يتم ضمان استدعاء الموروثة المجهولة دوماً استدعاء الأسلوب في فئة أصل تم تجاوزها بواسطة الحالي.
مثال: انظر http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. في الإصدارات FPC السابقة ، استدعاء المكالمة في tc3.test استدعاء خلال tc2.test (b: byte؛ l: longint = 1234)؛ الآن يدعو من خلال tc.test.
السبب: تتفق مع وثائق FPC ، دلفي التوافق.
العلاج: إذا كنت ترغب في أن يقرر المترجم أي طريقة يتم الاتصال بها استنادًا إلى المعلمات المحددة ، فاستخدم تعبير استدعاء موروث محدد تمامًا مثل الاختبار الموروث (b).
يجب أن يكون معدّل التحميل الزائد موجودًا في الواجهة:
السلوك القديم: كان بالإمكان إعلان دالة / إجراء / طريقة كإفراط في التنفيذ فقط.
السلوك الجديد: إذا تم استخدام أمر overload ، فيجب أن يظهر أيضًا في الواجهة.

السبب: يمكن أن تسبب الآلية القديمة صعوبة في العثور على مشكلات (اعتمادًا على ما إذا كان التنفيذ قد تم تحليله بالفعل أم لا ، وسيعالج المترجم الروتيني كما لو تم الإعلان عنه مع / بدون تحميل زائد) ، فقد يتسبب في إعادة تجميع الوحدات غير المرغوب فيها نظرًا لوجود crc للواجهة التغييرات ، والتوافق دلفي.
علاج: تأكد من وجود معدِّل التحميل الزائد في الواجهة وفي التطبيق إذا كنت تستخدمه.
تغييرات الوحدة:
عدة طرق من TDataset تغييرات التوقيع (TRecordBuffer):
السلوك القديم: هناك عدة طرق (افتراضية) لـ TDataset تحتوي على معلمات من النوع & quot؛ pchar & quot ؛، والتي غالباً ما تسمى & quot؛ buffer & quot ؛.
سلوك جديد: لقد تم تغيير نوع pchar إلى TRecordBuffer. لا يزال هذا النوع حاليًا اسمًا مستعارًا لـ char (ansi) char ، ولكن مع مرور الوقت سيتم تغييره إلى pbyte للفرع 2.7.1 / 2.8.0 ، وهو متوافق مع D2009 +.
السبب: التحضير لتوافق دلفي 2009 + وتحسين الكتابة العامة. في دلفي 2009+ (وطرق FPC متوافقة تماما في المستقبل) pchar ليس مؤشر لبايت بعد الآن. سيتم دمج هذا التغيير مرة أخرى إلى 2.6 (.2) ، ولكن مع TRecordBuffer = pchar.علاج: تغيير الأساليب الظاهرية ذات الصلة لاستخدام TRecordBuffer لمعلمات المخزن المؤقت. تعريف TRecordBuffer = pansichar للحفاظ على العمل تعمل Delphis و FPC. في الأماكن التي يكون فيها المخزن المؤقت هو typecasted ، لا تستخدم pchar لكن الرمز TRecordbuffer.
تم تغيير DLLParam من Longint إلى PtrInt:
السلوك القديم: كان DLLParam من نوع Longint حتى على Win64.
السلوك الجديد: DLLParam الآن من النوع PtrInt لذا أيضا على أنظمة 64 بت.
السبب: منع فقدان البيانات ، ومطابقة التعريف في رؤوس Windows.
Remedy: تغيير تعريف الإجراءات المستخدمة كـ ربط dll أخذ معلمة PtrInt بدلاً من Longint.
تم إيقاف بعض الرموز في الوحدة Unix و Unixutils:
السلوك القديم: لا يوجد تحذير تم إيقافه لـ unixutils.getfs (العديد من المتغيرات) ، unix.fpsystem (إصدار shortstring فقط) ، ثوابت Unix.MS_ و unix.tpipe. unix.statfs
السلوك الجديد: سينتج المحول البرمجي تحذيرًا مهملًا لهذه الرموز. في الإصدارات المستقبلية قد تتم إزالة هذه.السبب: تم ​​استبدال getfs من خلال وظيفة عبر منصة بالكامل sysutils.getfilehandle منذ فترة طويلة. كانت fpsystem (shortstring) متبقية من الترحيل 1.0.x- & gt؛ 2.0.x (يبقى الإصدار المدعوم مدعومًا) ، ثوابت MS_ هي لمكالمة msync غير مدعومة من قبل FPC ، وبالتالي لم يتم استخدامها وغير محدد على مدى عقد من الزمان وقد يرجع تاريخه إلى نواة 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 (التي تم تعريفها في تعليمات دلفي) على الأقل في حالة المسافات (ويفترض أن تكون أحرف ASCII منخفضة أخرى) في المقدمة وفي نهاية الحقول كما هو وكذلك اقتباسات ونهايات خط. أسوأ ، إذا كان StrictDelimiter صحيحًا ، وفي الحالات المذكورة أعلاه ، يؤدي حفظ TString .DelimitedText وتحميل هذا النص في TString آخر إلى وجود اختلافات بين الاثنين. ملاحظة: StrictDelimiter هو false افتراضيًا.
السلوك الجديد: يتبع FPC سلوك Delphi.
السبب: التناسق (الكتابة والخروج في DelimitedText يجب أن يؤدي إلى نفس السلاسل) ، توافق دلفي (باتباع مواصفات SDF).
علاج: مراجعة التعليمات البرمجية الموجودة لديك التي تقرأ أو تكتب DelimitedText؛ إذا لزم الأمر تحويل البيانات أو كتابة رمز المحول. انظر tests webtbs tw19610.pp للحصول على اختبار مفصل.
fcl-image TTiffIDF تمت إعادة تسميته إلى TTiffIFD:
السلوك القديم: فئة مساعد tiff لـ & quot؛ دليل ملف الصورة & quot؛ تمت كتابة خطأ تيفيد (Tiffcmn unit)
السلوك الجديد: تمت إعادة تسميته الآن إلى TTiffIFD
السبب: الاتساق ، انخفاض الاستخدام
علاج: إعادة تسمية معرف حسب الاقتضاء.

تصدر وحدة libc تحذيرًا تم إيقافه:
السلوك القديم: على الرغم من أنه تم إيقاف العمل به منذ سنوات ، لم تصدر وحدة libc تحذيرًا موقوفًا
السلوك الجديد: يظهر تحذير موقوف عند استخدام وحدة libc ، مما يحثك على التحديث.
السبب: وحدة libc هي وحدة تراث Kylix ، مع قابلية محدودة
علاج: استخدام وحدات مناسبة FPC كما هو موضح في وحدة libc
آخر:
تمت إزالة دعم UPX:
السلوك القديم: كان هناك بعض الدعم المتبقي UPX (حزمة مؤتمِثة قابلة للتنفيذ) في ملف FPC Makefiles ، وتضمن الإصداران DOS و Windows FPC ثنائي UPX.
السلوك الجديد: تمت إزالته جميعًا.
السبب: لم يتم إصدار الثنائيات UPX'ed لفترة من الوقت. حجم الملفات التنفيذية FPC غير مهم في هذه الأيام بشكل عام مقارنة بحجم التثبيت الإجمالي ، ويؤدي استخدام UPX أحيانًا إلى حدوث بعض الإزعاجات البسيطة (إيجابيات كاذبة من أجهزة فحص الفيروسات ، أسوأ سلوك ترحيل بواسطة نظام التشغيل ، عدم التوافق مع أقسام قابلة للتنفيذ ، ...)
علاج: قم بتنزيل وتثبيت UPX بنفسك من صفحته الرئيسية وإعادة تقييم الحاجة إليه بشكل عام.

ما هو الجديد في الإصدار 2.4.4:

يحتوي هذا الإصدار على معظم إصلاحات المكتبات من أوائل يونيو 2010 حتى مارس 2011.
هناك أيضًا بعض إصلاحات برنامج التحويل البرمجي ، ومعظمها يتعلق بـ 64 بت.

ما هو الجديد في الإصدار 2.4.0:

دلفي مثل الموارد لجميع المنصات ،
تحسينات معلومات تصحيح أخطاء Dwarf ،
عدة أهداف جديدة
64 بت Mac OS X (x86_64 / ppc64)
iPhone (نظام التشغيل Mac OS X / Arm)
Haiku (من عائلة BeOS)
تحسين دعم ARM EABI
برنامج كامل التحسين
العديد من bugfixes مترجم ونصف سنة من تحديثات المكتبة (منذ 2.2.4)

ما هو الجديد في الإصدار 2.2.4:

الكل:
أداة تثبيت الحزم التجريبية
حزم:
واضاف لدعم TIFF القراءة / الكتابة في FCL- صورة
تحسينات وإصلاحات في دعم CHM
تم إصلاح ربط حزمة gtk2 بإصدارات gtk أعلى من 2.13.4
IDE:
تمت إضافة دعم لملفات مساعدة CHM

برامج مماثلة

Smake
Smake

20 Feb 15

Xojo
Xojo

20 Feb 15

runawk
runawk

19 Feb 15

Ruby
Ruby

17 Aug 18

تعليقات ل Free Pascal Compiler

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!