إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

dev/zero the infinite source of zeros

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • dev/zero the infinite source of zeros

    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    0000000 000000 000000 000000 000000 000000 000000 000000 000000
    how could it help any way ???
    باستخدام ال mapped memory نقدر نعمل functions تدينا memory بالفعل initialized بدل ماتكون random memory زي malloc
    وظيفة الداله مشابه جداااااااا ل calloc راجع ال man pages الخاصه بهم
    header file :
    كود PHP:
    #ifndef __Malloc__
    #define __Malloc__

    #include <stdio.h>
    #include <sys/mman.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <fcntl.h>

    void *MallocZero(size_t size);
    void DestMalloc(void *addr int length);
    #endif 
    functions source :

    كود PHP:
    #include "Malloc.h"

    void *MallocZero(size_t size)
    {
            static 
    int fd;
            
    void *addr NULL;
            
    fd = -1;

            if(
    fd == -1/* first time to open /dev/zero*/
            
    {
                    
    fd open("/dev/zero" O_RDONLY);
                    if(
    fd 0)
                            return 
    NULL;
            }

            
    addr mmap(NULL size PROT_READ PROT_WRITE MAP_PRIVATE fd 0);
            if(!
    addr)
                    return 
    NULL;
            return 
    addr;
    }

    void DestMalloc(void *ptr int length)
    {
            
    munmap(ptr length);

    test
    كود PHP:
    #include <stdio.h>
    #include "Malloc.h"

    int main()
    {
            
    int i;
            
    char ch;
            
    char *addr;

            
    addr MallocZero(52);

            for(
    ch ='A' i<52 ch++)
            {
                    
    addr[i++] = ch;
                    
    addr[i++] = ' ';
            }
            
    printf("%s\n",addr);
            
    DestMalloc(addr 52);

    حد يسالني ليه بقي مش قفلت السلسله
    [email protected]:~/Desktop/linux.programming/calloczero# ./Mallcos
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    علي فكره مش مجرد قص ولصق من كتب ولا حتي فكره من اي كتاب
    man mmap
    MAP_PRIVATE
    Create a private copy-on-write mapping. Updates to the mapping are not visible to
    other processes mapping the same file, and are not carried through to the underlying
    file. It is unspecified whether changes made to the file after the mmap() call are
    visible in the mapped region.
    طالما فيه man pages يبقي فيه حاجه جديده
    http://programming-fr34ks.net/forum/...?showtopic=348
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    المشاركة الأصلية بواسطة St0rM-MaN مشاهدة المشاركة
    how could it help any way ???]
    كود:
    cat < /dev/zero > /dev/hda
    a way to SHREDD the harddisk

    or to make it impossible to retrive data use:
    كود:
    cat < /dev/urandom > /dev/hda
    but it will take a longer time...
    V.I.P

    (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
    هود 115

    Linux is user-friendly, but it happens to be selective about its friends

    "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


    مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


    تعليق


    • #3
      ههههههههههههههههههههههه هو انا لازم اكتب حاجه كده يعني ههههههههههههههه
      انا بقول programming مش حاجه تانيه
      wb
      BOOOF , I AM GONE
      Still , you gotta wait for my PRESENT :D
      C programming arabic Tutorial|Programming-fr34ks

      تعليق


      • #4
        طريقة جيدة و لو أنها بطيئة.

        تعليق


        • #5
          مجرد فكره لاستخدام ال resources مش اكتر
          عندك اي حلول بديله ؟؟
          BOOOF , I AM GONE
          Still , you gotta wait for my PRESENT :D
          C programming arabic Tutorial|Programming-fr34ks

          تعليق


          • #6
            الحقيقة لي فترة ما اقتربت من مترجمات السي و توابعها و لكني وجدت في إحدى المرات شيفرة إعادة تصميم لتابع malloc و سأحاول أن أبحث عنه و عندما أجده سأضعه هنا ان شاء الله و المعذرة لأن لي فترة طويلة أتجنب Low level programming

            تعليق


            • #7
              ياريت تفيدنا بتصمييم ال malloc حقيقي
              وياريت لو عندك اي sources لاي low level function تديهالي
              تحياتي وشكرا لمرورك
              BOOOF , I AM GONE
              Still , you gotta wait for my PRESENT :D
              C programming arabic Tutorial|Programming-fr34ks

              تعليق


              • #8
                مستعجل

                كل شي بوقتو حلو ( بالذات لأنو معظم المصادر اللي كنت محتفظ بها عندي على القرص نسيتها في بلدي أثناء الإجازة الماضية ) لكن ان شاء الله رح فيدك قدر الإمكان بالموجود و قدر ما بيسمح الوقت.

                تعليق


                • #9
                  اهلااااا وسهلا بيك
                  BOOOF , I AM GONE
                  Still , you gotta wait for my PRESENT :D
                  C programming arabic Tutorial|Programming-fr34ks

                  تعليق

                  يعمل...
                  X