محمد علاء الدين
مشرف قسمي C/Cpp و Windows API
- الدولة الإسلامية
- Operating Systems & Compilers
- مكتبة mathX
هذا مدى الأرقام للأنواع الموجوده بالمكتبه بشكل افتراضي: int128-Min : -170141183460469231731687303715884105728 int128-Max : 170141183460469231731687303715884105727 int256-Min : -57896044618658097711785492504343953926634992332820282019728792003956564819968 int25…
- مكتبة و أدوات برمجية Gold Parsing system ،
الله عليك يالشمري، الموقع يحتوى على اداوات جميله و مفيده.
- هل يستطيع الكراكر إيقاف عمل دالة Exit For ودالة Exit Sub من الفيجوال بيسك دوت نت
برامج الدوت نت التى لم يتم عمل obfuscated لها يمكن فتحها بـ Reflector و بعدها يمكن رؤية الكود بأى لغة اشاء لذا عوضا عن اجهاد عيني بالنظر لكود IL سأقوم بقراءة الكود بالـ C++/CLI أو لغه اخرى و بها افهم الـ algorithm المستخدمه و اقوم يتعديلها كيفما اشاء ثم اضع ال…
- مكتبة mathX
تم تحويل نسخة المشروع 1.0.1 إلى النسخه unversioned update 1 و ذلك لعدة أسباب سيتم ذكرهم بعد قليل، فى الوقت الحالي يتم العمل على الإصدار الأول و الذى يحتوى على نفس الـ interface القديمه مع بعض التعديلات البسيطه فيها، ايضا تم تغيير قلب المكتبه و تم إعادة بناءها …
- التحويلات داخل الـ template
الحمد لله انتهيت من الكود الخاص بالـ Big Endian : template<typename ty_a, typename ty_b> int_t(const int_t<ty_a, ty_b>& value) { *this = value < 0? -1: 0; if (sizeof(*this) < sizeof(value)) *this = *((int_t*)&value.lo + (sizeof(value.lo)/sizeof(*this) - 1)); e…
- التحويلات داخل الـ template
الحمد لله انتهيت من الكود الخاص بالـ Little Endian : template<typename ty_a, typename ty_b> int_t(const int_t<ty_a, ty_b>& value) { *this = value < 0? -1: 0; if (sizeof(*this) < sizeof(value)) *this = *(int_t*)&value; else *(int_t<ty_a, ty_b>*)&lo = value; } ي…
- التحويلات داخل الـ template
لدي النوعين int_t و uint_t و محتواهم كالتالي: template <typename lo_t> struct uint_t; template <typename hi_t, typename lo_t> struct int_t { lo_t lo; hi_t hi; int_t() : hi(0), lo(0) {} int_t(int value) : lo(value), hi(value<0? -1: 0) {} int_t(unsigned value) :…
- اضافة صورة للنافذه الرئيسية
بالنسبه للأيقونه تقوم بإضافتها كـ resource داخل الملف التنفيذي. بالنسبه للصوره فلا توجد دالة معينه لتقوم بذلك و لكن يتم اكتر من داله لرسم الخلفيه بأكثر من طريق، على سبيل المثال يمكننا تحميل الصوره بإستخدام LoadImage و سيتم إرجاع HBITMAP، قم بتمرير الـ handle ل…
- Prime Factorization
الـ algorithm تشرح كيفية تضمين البرنامج للـ prime factorization و هى تؤدى الغرض منها و تعمل جيدا مع الأرقام فى المدى من صفر و حتى أقصى رقم موجب يمكن تخزينه بـ signed long long طالما ان اقصى عدد أولي له لا يتجاوز اخر رقم اولي بالمصفوفه prime، و كلما كبر الرقم ا…
- اضافة صورة للنافذه الرئيسية
قبل استدعاء الداله CreateWindowEx تقوم بإنشاء الـ class التى تحتوى على الـ parameters المشتركه للنوافذ التى ستستخدمها، هذه البيانات يتم تخزينها داخل التركيب WNDCLASSEX و الذى احد عناصره هو hIcon و هو الصوره التى ستظهر للنافذه، إذا كانت NULL عندها سيضع لك نظام …
- ما هو بديل pusha/popa في x86_64 ؟
عندما تستخدم pusha او الكود الذى كتيته فى المشاركه الاولي اين يتم تخزين محتويات المسجلات؟ يتم تخزينهم داخل الـ stack و التعليمه pusha او push تتكفل فى تحديث الـ stack pointer، الفرق بين الكود الذى كتبته و الذى قمت انت بكتابته يمكن فى بضع امور هي: 1- التعليمه p…
- custom allocator
تم حل المشكله، المشكله كانت فى الـ copy constructor حيث بشكله الحالي: template<class Other> static_allocator(const allocator<Other>&) و المفترض ان يكون template<class Other> static_allocator(const static_allocator<Other>&) مشكلة نسخ اضاعت وقت كبير :sleep: و ال…
- custom allocator
قمت بكتابة الـ allocator التالي: // static_allocator.h #include <memory> using std::allocator; template <typename t, uint32 length> class static_allocator : public allocator<t> { public: typedef t value_type; typedef t *pointer; typedef t& reference; typedef c…
- سؤالين في الكلاس
بنظره سريعه على الكود أجد ان المشكله لديك تكمن فى هذا الجزء: for (int i = 0; i < vehicles.size(); i++) { cout <<"id "<< abc.getID() <<endl; cout <<"id "<< abc.getVehicleType() <<endl; } المتغير abc لم يتم تعريف المعامل subscript له - و هو [] - لذا افترض انك تق…
- Prime Factorization
استيقظت اليوم و انا افكر فى الـ prime factors الخاصه بالرقم 132 (تحدث لي مثل هذه الأمور كما اعتقد انها تحدث للغير)، و بعد ان عرفت الإجابه - و هي 2 * 2 * 3 * 11 - فكرت فى صناعة برنامج أقوم بإدخال الرقم إليه و يقوم هو بإخراج لي الـ prime factors. المقصود بالـ pr…
- سؤال linked list
ما تريد ليس linked list و إنما map أنظر المثال التالي: #include <iostream> #include <string> #include <map> using namespace std; int main() { typedef map<string,int> my_map; typedef map<string,int>::iterator itr; typedef pair<string,int> kv; my_map values; val…
- ما هو بديل pusha/popa في x86_64 ؟
لايوجد pusha/popa داخل 64bit، يمكنك استخدام الكود بالأعلي كبديل و لكني لا انصح به لأنه سيضعف الاداء، عوضا عن ذلك قم بحجز المساحه من الـ stack و استخدم mov لنسخ محتويات السجلات، بهذا تفصل بين تنفيذ التعليمات مما يتيح تنفيذ للمعالج تنفيذ اكثر من تعليمه فى نفس ال…
- النوعين int128 و uint128
وجدت خطأ فى دالة القسمه فقمت بتصحيحها و قمت بإجراء بعض التحسينات على باقي الدوال و قمت بإضافة الفئه int256. تم تحديث المرفقات بالمشاركه الأولي و تم إضافة الملف nlimits.h الخاص بـ numeric_limits و الله و لي التوفيق
- في كل يوم فائدة !
ملاحظات عن تجارب شخصيه: 1- عندما تنفيذ فكره معينه لا تهتم بجعل الكود افضل ما يمكن و لكن اهتم بتنفيذ الفكره و عندما تنتهي بنجاح قم بتحسين الكود بعد قرائته كاملا. 2- بلغة ++C توجد العديد من المفاهيم الأساسيه و أدناها (بالنسبه لي) أولويات العمليات الحسابيه لذا عن…