fahad
(فهد الدريبي)
18 نوفمبر 2015، 7:07م
1
تتميز السكربتات “Scripts” مثل bash بسهولتها وسهولة تنفيذها حيث انك تكتب النص البرمجي وتنفذه مباشرة دون الحاجة لعمل خطوات اخرى كما في اللغات المترجمة، لكن ساقدم لكم طريقة تمكنكم من كتابة برامج بلغة سي وتنفيذها مباشرة كما في سكريبت باش وغيره وهذا يجعل البرمجة والتنقيح اسرع.
الطريقة تعمل مع نظام اللينكس فقط (وربما الانظمة المشابهة)
في السطر الاول من الملف البرمجي file.c اضف السطر التالي:
//bin/make -s "${0%.c}" && ./"${0%.c}" "$@"; s=$?; rm ./"${0%.c}"; exit $s
واكتب برنامج السي بعد ذلك السطر، مثال:
//bin/make -s "${0%.c}" && ./"${0%.c}" "$@"; s=$?; rm ./"${0%.c}"; exit $s
#include <stdio.h>
void main() {
printf("Hello Fahad!\n");
}
اضف خاصية التنفيذ للملف:
chmod +x file.c
قم بتشغيل الملف:
./file.c
سيقوم النظام بالعمل السحري حيث سينفذ السطر الاول والذي سيقوم بتفسير النص البرمجي وتنفيذه ثم مسح الملف المفسر
9 إعجابات
الله يجزيك خير استاذ فهد.
بس هل سيعمل أيضا في لغة ++c؟
إعجاب واحد (1)
fahad
(فهد الدريبي)
20 نوفمبر 2015، 4:40م
3
لا ارى مانع واعتقد انه يمكن تعديلها واستخدامها مع اي لغة بشرط ان تكون علامتي // في تلك اللغة تمثل comment
3 إعجابات
لم يعمل الثال اعلاه معي , وتظهر رسالة الخطأ التالية:
./file.c: line 1: //bin/make: No such file or directory
rm: cannot remove ‘././file’: No such file or directory
توزيعة منت دبيان LMDE وقد حاولت تشغيله كمستخدم عادي او بصلاحية المدير .
إعجاب واحد (1)
fahad
(فهد الدريبي)
20 نوفمبر 2015، 10:39م
6
هل امر make موجود في ذلك المسار؟
ما ناتج الامر التالي
which make
إعجاب واحد (1)
فعلا كانت المشكلة في تحديد مسار make قمت بتصحيحه واشتغل.
الصحيح :
/usr/bin/make
بعد التعديل:
//usr/bin/make -s "${0%.c}" && ./"${0%.c}" "$@"; s=$?; rm ./"${0%.c}"; exit $s
شكرا لك استاذا فهد @fahad
إعجابَين (2)