- إستدعاء دوال libc من برنامج أسمبلي في لينكس
السلام عليكم ورحمة الله وبركاته إذا أردت كتابة برنامج أسمبلي للينكس لطباعة رسالة مثلاً فربما تلجأ لإستدعاءات النظام system calls. مثال لبرنامج يطبع رسالة: .data message: .string "Hello world!\n" .text .globl _start _start: movl $4, %eax /* رقم مقاطعة الكتابة *…
- [ تمت الإجابة ]ماهي الـ Storage Classes ؟
هذه تشير لطرق تخزين المنغيرات. هناك "النوع المؤقت" auto , وكل متغير داخل دالة إفتراضياً سيعتبره المصرف compiler من النوع auto. مثلاً لو كتبت: #include <stdio.h> void function(void) { auto int variable = 1; printf("%d\n", variable); variable += 1; printf("%d\n"…
- [ تمت الإجابة ]طلب كود حساب رواتب الموظفين
أخطاءك سببها قلة الممارسة. خطأ أن لاتكتبين برنامج الا إذا كان واجب أو تمرين. حاولي أن تبرمجين وتكتبين برامج صغيرة وتتوسعين خارج نطاق الدراسة. أيضاً إهتمي بالتفاصيل الصغيرة كأسماء الدوال والمتغيرات والمسافات, البرنامج المنظم يفتح النفس. هناك كتاب عربي ممتاز سيف…
- [ تمت الإجابة ]كيف أحول برنامج سي++ من console إلى GUI
@ المشاكل : أشكرك على التنبيه, هناك خطأ صغير في الملف main.cpp في السطر 44. عدلي السطر: GetWindowText(hInput, lpszInput, GetWindowTextLength(hInput)); ليصبح: GetWindowText(hInput, lpszInput, GetWindowTextLength(hInput) + 1);
- [ تمت الإجابة ]إرسال إشارة ( STOP ) من العملية لنفسها !
برنامجهذا صحيح, الآن لو تكتبين بسطر الأوامر : ps aux | grep a.out | grep -v grep ستجدين عمليتين "متوقفة"، وهذه وظيفية الإشارة SIGSTOP. لجعلها تكمل إكتبي: killall -CONT a.out ولإنهاء العملية: killall -9 a.out
- [ تمت الإجابة ]إرسال إشارة ( STOP ) من العملية لنفسها !
لم أجرب البرنامج في البداية, سبب ظهور الرسالة أن الإشارة SIGSTOP وSIGKILL لايمكن إعتراضهما signal(2) - Linux manual page : ممكن تجربين ترسلين رسالة أخرى وتعترضينها مثل رسالة SIGINT التي يرسلها النظام للبرنامج عند الضغط على الزرين Ctrl-C : #include <stdio.h> #i…
- [ تمت الإجابة ]كيف أحول برنامج سي++ من console إلى GUI
يمكنك إستخدام هذا برنامج : إفتحي الملف Template.sln وسيفتح visual studio. إفتحي الملف parse.cpp وستجدين الدالة : char *Action(char *lpszInput, unsigned long nLenght) { unsigned int i; for(i = 0 ; i < nLenght ; i++) { if(lpszInput == 'a') lpszInput = '*'; } ret…
- [ تمت الإجابة ]إرسال إشارة ( STOP ) من العملية لنفسها !
لاتستطيعين إستدعاء دالة من خارج دالة. هذا تعديل على البرنامج لم أختبره: #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <signal.h> void sig_handler(int signo) { printf("received SIGSTOP\n"); } int main(int argc, char **argv) { unsigned i…
- [ تمت الإجابة ]كيف نعرض مواصفات الجهاز ؟
هناك مجموعة دوال يوفرها ويندوز لعرض معلومات الجهاز إنظرلـ System Information Reference .
- [ تمت الإجابة ]مشكلة في استخدام كومبايلر LCC
طريقة إستخدامه مشروحة في صفحة الدليل lcc man page : lcc file.c أخي هناك العديد من المصرفات الأكثر كفاءه منه مثل gcc و vc++ مالذي يجعلك تتركها وتذهب لمصرف غير مشهور؟.
- [ تمت الإجابة ]هل أدرس ++C أم php للعمل ؟
أخي طالما أنك تريد تعلم لغة لغرض الكسب وتحسين مستقبلك الوظيفي, أعتقد أن هذا مايهمك, فـc++ خيار سيئ ولاحاجة لأن تبدأ بها فأنت ستعيد التعلم منذ الصفر عند إنتقالك للغة أخرى. أكثر اللغات الشائعة في السوق c# -سي شارب- و java -جافا - (أفضل مافيهما أنك يمكنك برمجة لل…
- [ تمت الإجابة ]ما هو بديل fork و pipe في الوندوز؟
ربما تود الإطلع على هذه المقالة ولمعرفة الفرق بين الـforking والـthreading. الـcgi إسلوب قديم لإنشاء تطبيقات الويب, أعتقد أنه باقي فقط لأنه معيار. مشكلته أنه مع كل طلب فالبرنامج , مفسر الـphp مثلاً, يبدأ العمل ويغلق مع إنتهاء الطلب وهذا يستهلك قدرات المعالج, ح…
- [ تمت الإجابة ]ما هو بديل fork و pipe في الوندوز؟
لايوجد بديل لـfork على ويندوز, لكن يُمكن محاكاتها بإستخدام ZwCreateProcess, دالة غير موثّقة, لكن الأمر ليس بتلك السهولة. هذه مثال لمحاكاتها إقتطعته من هنا : الملف fork.h : #ifndef __forkWindows_H__ #define __forkWindows_H__ #ifdef __cplusplus extern "C" { #end…
- [ تمت الإجابة ]كيف OOP يقلل استخدام switch statement
أشكرك أخي SudaNix على الإضافة. الا أنها على عكس ماذكرت فلا تخص البرمجة الكائنية : يُمكن تطبيق هذا النمط مع perl و c وكلا اللغتين ليستا كائنية . هذا نفس المثال المكتوب في صفحة ويكيبيديا الا أنه بـc : #include <stdio.h> typedef struct _Object { int (*executeStra…
- [ تمت الإجابة ]سؤال في recursion
أخي لاتوجد هناك أي زيادة كما قد تظن. خذ هذا البرنامج, مثل البرنامج السابق لكن بدون الإضافات : #include <stdio.h> int function(int number) { if( number == 0 ) { return 0; } printf("-> %d\n", number); // A function(number - 1); // B printf("=> %d\n", number); //…
- في دروس JAAS .. كيف حدد عنوان البرنامج ولماذا!
الـshellcode ليس برنامج مستقل لوحده. بل تعليمات تحقنها في عمليه أخرى, فلا يوجد هناك الا برنامج واحد. إذا أردت من الشل أن يطبع رسالة بإستخدام الدالة MessageBoxA مثلاً, فستحتاج لتحديد عنوان النص الذي تريد تمريره للدالة. لكن مع الأسف أنت لاتعرف أين يوجد هذا النصّ…
- عكس حاصية visible=false و Hide=True
إنظر للمثال في المرفقات, فيه برنامجين Target.exe و EnableTarget.exe مع الشفرة المصدرية في المجلد src, مكتوب بـC ويُمكنك إستخدام أي لغة أخرى يمكنك إستخدام Windows API عن طريقها. الأوّل Enable.exe فيه نافذة وزرّ Click Me معطّل : والآخر EnableTarget.exe برنامج لت…
- مطابقة نص معقد بدون التعابير المنتظمة Regex
حياكم الله شباب وأشكركم على إضافتكم. لم أشر أو قلت أنه لافائدة منها, فالموضوع عبارة عن تطبيق لها . لكنني ضد تنظير الأمور وإقحام الرياضيات والرموز بالموضوع وهو لاعلاقة له بها. فالواقع وعند التطبيق الأمور تختلف تماماً. ربما هذه عينه توضح كيف أن الموضوع مزعج: الإ…
- مطابقة نص معقد بدون التعابير المنتظمة Regex
أظنك تتحدث عن بناء "محرك" للتعابير المنتظمة؟ المقال يتحدث عن بناء محلل لسلسلة معينة بدل إستخدام التعابير المنظمة وليس عن بناء محرك لها. @Eisa Ayed: صدقني ماني فاهم عليك :lol:, لم أدرس لغات البرمجة أو أقرأ عنها الكثير لذا لا أعرف كثير من التفاصيل. رجاء شباب الإ…
- مطابقة نص معقد بدون التعابير المنتظمة Regex
أهلاً أحمد. صدقني أنه لاحاجة لقراءة أي نظرية أغلب الكلام المكتوب فقط تكلف, لا أستطيع إستيعابها أبداً بلك الصيغة. إذا كنت تقصد بـ"لكل RE يوجد Finite State Machine يمكن التحويل إليها بخوارزميات محددة" مثل الجزء الموجود تحت العنوان Converting Regular Expressions …