تواقيع عددية دقيقة وإعارة نص
لبات 0.7.0 · الإصدار الحالي
افحص abs بص32 وstrlen بإعارة نص C منسوخة بترميز UTF-8 ونتيجة حجم ط64.
محتويات الصفحة
الغرض والتجهيز
المضيف الأصلي فقط، لبات 0.7.0 على Linux x86-64 مع glibc. يحتاج libc.so.6 مع abs, strlen. لا أسطر إدخال أو وحدات مصدر أو ملفات بيانات. يفحص abs(-7) == 7 وبايتات UTF-8 العشرة للنص مرحبا؛ لا خرج عند النجاح والحالة 0. تستخدم النسختان الاسم ordinary.aspl؛ احفظهما في مجلدين منفصلين.
التثبيت الأصلي · دليل C · الواجهة الخارجية · مجموعة C.
المصدر العربي
المضيف الأصلي فقط. نزّل النسخة الموردة دون تغيير.
التنفيذ: المضيف الأصلي فقط · لبات 0.7.0
- المضيف الأصلي فقط. لبات 0.7.0 وLinux x86-64 مع glibc؛ يحتاج libc.so.6 وabs وstrlen. لا وحدات مصدر أو ملفات بيانات. اسم النسختين ordinary.aspl؛ احفظهما منفصلتين.
الإدخال: لا يحتاج إلى أسطر إدخال.
غير_آمن خارجي مطلق(قيمة: ص32) -> ص32 = سي("libc.so.6", "abs").
غير_آمن خارجي طول_البايتات(متن: نص) -> ط64 = سي("libc.so.6", "strlen", نص_سي(متن)).
دالة ابدأ_الرئيسية() -> ص64 {
إذا غير_آمن مطلق(ص32(-7)) ليس يطابق ص32(7) { أرجع 1. }
إذا غير_آمن طول_البايتات("مرحبا") ليس يطابق ط64(10) { أرجع 2. }
أرجع 0.
}
اتبع تعليمات Linux لتنفيذ هذا المثال. نزّل المصدر لحفظه.
تنزيل سي-عادي.لباتالنتائج المتوقعة
{
"native": {
"check": 0,
"status": 0,
"output": ""
}
}المصدر الإنجليزي
المضيف الأصلي فقط. نزّل النسخة الموردة دون تغيير.
التنفيذ: المضيف الأصلي فقط · لبات 0.7.0
- المضيف الأصلي فقط. لبات 0.7.0 وLinux x86-64 مع glibc؛ يحتاج libc.so.6 وabs وstrlen. لا وحدات مصدر أو ملفات بيانات. اسم النسختين ordinary.aspl؛ احفظهما منفصلتين.
الإدخال: لا يحتاج إلى أسطر إدخال.
unsafe foreign absolute(value: i32) -> i32 = c("libc.so.6", "abs");
unsafe foreign byte_length(text: string) -> u64 = c("libc.so.6", "strlen", cstring(text));
fn start_main() -> i64 {
if unsafe absolute(i32(-7)) not matches i32(7) { return 1; }
if unsafe byte_length("مرحبا") not matches u64(10) { return 2; }
return 0;
}
اتبع تعليمات Linux لتنفيذ هذا المثال. نزّل المصدر لحفظه.
تنزيل ordinary.asplالنتائج المتوقعة
{
"native": {
"check": 0,
"status": 0,
"output": ""
}
}فحص النتيجة
تعرض بطاقات المصدر النتائج الدقيقة من الكتالوج والتنزيلات الأصلية والبصمات والمفردات الموردة. تشير نتيجة المثال غير الصفرية إلى فشل تحقق أو إخفاق مكتبة عالجه البرنامج.
aspl check ordinary.aspl
aspl run ordinary.aspl
aspl build -o c-ordinary-program ordinary.aspl
./c-ordinary-program