اطلاعیه

Collapse
No announcement yet.

مشکلات ساده برنامه نویسی!!!؟؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

    یه چیز دیگه ظاهرا این سری sam3u تو بازار ایران نیست درسته؟
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!

    دیدگاه


      #17
      پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

      سلام آقا حامد :mrgreen:
      ببخشید استاد یادتونه که چند روز پیش در مورد داشتن چند سورس در برنامه صحبت کردیم، حالا در پی اون بحث سوالی پیش اومده که ممنون می شم راهنمائی ام کنید:
      دارم یه برنامه به زبان c برای کامپایلر کدویژن می نویسم و چون حجم برنامه زیاده تصمیم گرفتم یه جاهایی اش رو به صورت کتابخانه بنویسم و به سورس اصلی اضافه کنم، این کتابخانه بخش کیپد پروژه و کارهایی که در صورت فشرده شدن هر یک از کلید های آن باید انجام بشه، رو شامل می شه.
      اما موضوع اینه که چطور این دو سورس (یکی main و یکی هم سورس کتابخانه کیپد)می تونند به متغیر های هم دسترسی داشته باشند؟حتما باید متغیری رو که می خوام تغییری در اون ابجاد بشه ، به صورت متغیرهای یک تابع به سورس کتابخانه بفرستم؟ راه دیگه ای هم هست؟ آخه تعداد متغیر هایی که هر دو سورس باید روش اعمال تغییر کنن زیاده ! چیکار می تونم بکنم؟

      و یه سوال دیگه اینکه فرض کنید که اول سورس کتابخانه چند متغیر تعریف کنم آیا این متغیر ها در سورس کتابخانه جهانی هستند(مجاز به تعریف چنین متغیر هایی هستیم؟) و آیا این متغیر ها وقتی که اجرای برنامه به سورس اصلی بازگشت می توانند مقادیر خود را حفظ کنند؟ oo:

      سپاس سپاس سپاس :redface:
      همیشه بزرگوار تر از آن باشید که برنجید
      و نجیب تر از آن باشید که برنجانید!

      دیدگاه


        #18
        پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

        نوشته اصلی توسط جعفری
        سلام آقا حامد :mrgreen:
        ببخشید استاد یادتونه که چند روز پیش در مورد داشتن چند سورس در برنامه صحبت کردیم، حالا در پی اون بحث سوالی پیش اومده که ممنون می شم راهنمائی ام کنید:
        دارم یه برنامه به زبان c برای کامپایلر کدویژن می نویسم و چون حجم برنامه زیاده تصمیم گرفتم یه جاهایی اش رو به صورت کتابخانه بنویسم و به سورس اصلی اضافه کنم، این کتابخانه بخش کیپد پروژه و کارهایی که در صورت فشرده شدن هر یک از کلید های آن باید انجام بشه، رو شامل می شه.
        اما موضوع اینه که چطور این دو سورس (یکی main و یکی هم سورس کتابخانه کیپد)می تونند به متغیر های هم دسترسی داشته باشند؟حتما باید متغیری رو که می خوام تغییری در اون ابجاد بشه ، به صورت متغیرهای یک تابع به سورس کتابخانه بفرستم؟ راه دیگه ای هم هست؟ آخه تعداد متغیر هایی که هر دو سورس باید روش اعمال تغییر کنن زیاده ! چیکار می تونم بکنم؟

        و یه سوال دیگه اینکه فرض کنید که اول سورس کتابخانه چند متغیر تعریف کنم آیا این متغیر ها در سورس کتابخانه جهانی هستند(مجاز به تعریف چنین متغیر هایی هستیم؟) و آیا این متغیر ها وقتی که اجرای برنامه به سورس اصلی بازگشت می توانند مقادیر خود را حفظ کنند؟ oo:

        سپاس سپاس سپاس :redface:
        شما باید با مفهوم شی گرایی آشنا بشید البته در همون مفهوم ساخت یافته به سوالات شما جواب میده
        ما در c++ حداقل 6 jh حوزه دید برای متغیر ها ( اشیا ) داریم
        Private - Public - Protected - static - shared - friend

        مثلا اگر پراپرتی یا متودی را پابلیک - سراسری تعریف کنید public از هر جای برنامه اون متغیر را می بینید ( به شرطی که داخل بلوک پراپرتی یا متودی محلی هم نام تعریف نکرده باشید )

        پراپرتی که static باشه هم به نوبه خود جالب است آدرس متغییر در تمام پراپرتی یا متودی یکسان است و ...
        تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
        داشتن عقله زيادتر از دیگر آدم ها است

        دیدگاه


          #19
          پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

          سپاس فراوان از آقا aliila :mrgreen:
          ممنون از جواب کاملتون، ولی من که نفهمیدم چی گفتید
          پس برای رفع مشکلم و درک موضوع باید در مورد شی گرایی مطالعه کنم؟
          باز هم سپاس
          همیشه بزرگوار تر از آن باشید که برنجید
          و نجیب تر از آن باشید که برنجانید!

          دیدگاه


            #20
            پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

            نوشته اصلی توسط جعفری
            سلامی دوباره
            نگاهی به سایت اتمل داشتم و مشخصات خانواده های مختلف رو می خوندم که سوالی برام پیش اومد:
            برای سری sam3u نوشته بود که: glcd , semgment lcd ندارن؟؟
            این یعنی چی؟ منظور اینه اصلا با این سری نمی شه از glcd استفاده کرد؟؟ oo: مگه وقتی کتابخانه glcd رو داشته باشیم نمی تونیم سری های مختلف رو راه اندازی کنیم؟
            با سپاس
            سلام
            ببین مثلا LCD کاراکتری و GLCD توشیبا یا KS0108 و LCD N96 و ... را با همین 7S راه اندازی کردید در صورتی که 7S هم segment lcd و glcd را ندارد. ما بوسیله IO ها و نوشتن کتابخانه برای درایو کردن آنها این کار را انجام دادیم که این کار را حتی با 8051 یا Z80 هم می توانید انجام دهید. خوب خود LCD هایی که ما استفاده می کردیم یک IC درایور داخل خود LCD داشت که ما بوسیله آن LCD را کنترل می نمودیم یعنی یک سری دستور خواص که برای درایور LCD بود را به آن می دادیم و داده های مورد نیاز آن را هم به آن می دادیم و IC درایور وظیفه داشت که خودش LCD را کنترل کند و یا مثلا در LCDهای گرافیکی کار رفرش کردن LCD را هم انجام می داد. خوب حالا فرض کن که این IC درایور داخل خود میکرو باشد و دسترسی کاملی میکرو به آن داشته باشد در نتیجه کارایی و کنترل LCD خیلی بهتر و بیشتر می شود. خوب سری هایی که این واحد ها را دارند قابلیت های بهتری برای کنترل LCD و همچنین در سیستم عامل ها دارا می باشند. البته باید گفت که LCD هایی که به این واحد ها متصل می شوند خودشان دیگر IC درایور ندارند و باید حتما توسط این واحد کنترل شوند یا مثلا توسط یک FPGA یا میکروکنترلر کنترل شوند که نقش همان IC درایور را بازی می کنند.

            دیدگاه


              #21
              پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

              نوشته اصلی توسط جعفری
              یه چیز دیگه ظاهرا این سری sam3u تو بازار ایران نیست درسته؟
              تو بازار تا اونجایی که من خبر دارم و دنبالش هستم فقط 3 سری تو بازار هست . 7S , 7X , 9260

              دیدگاه


                #22
                پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

                نوشته اصلی توسط جعفری
                سلام آقا حامد :mrgreen:
                ببخشید استاد یادتونه که چند روز پیش در مورد داشتن چند سورس در برنامه صحبت کردیم، حالا در پی اون بحث سوالی پیش اومده که ممنون می شم راهنمائی ام کنید:
                دارم یه برنامه به زبان c برای کامپایلر کدویژن می نویسم و چون حجم برنامه زیاده تصمیم گرفتم یه جاهایی اش رو به صورت کتابخانه بنویسم و به سورس اصلی اضافه کنم، این کتابخانه بخش کیپد پروژه و کارهایی که در صورت فشرده شدن هر یک از کلید های آن باید انجام بشه، رو شامل می شه.
                اما موضوع اینه که چطور این دو سورس (یکی main و یکی هم سورس کتابخانه کیپد)می تونند به متغیر های هم دسترسی داشته باشند؟حتما باید متغیری رو که می خوام تغییری در اون ابجاد بشه ، به صورت متغیرهای یک تابع به سورس کتابخانه بفرستم؟ راه دیگه ای هم هست؟ آخه تعداد متغیر هایی که هر دو سورس باید روش اعمال تغییر کنن زیاده ! چیکار می تونم بکنم؟

                و یه سوال دیگه اینکه فرض کنید که اول سورس کتابخانه چند متغیر تعریف کنم آیا این متغیر ها در سورس کتابخانه جهانی هستند(مجاز به تعریف چنین متغیر هایی هستیم؟) و آیا این متغیر ها وقتی که اجرای برنامه به سورس اصلی بازگشت می توانند مقادیر خود را حفظ کنند؟ oo:

                سپاس سپاس سپاس :redface:
                سلام
                ببین اگر به یک متغییر هم در سورس باید دسترسی داشته باشید و هم می خواهید در کتابخانه از آن استفاده کنید اصول کار به این صورت است که بوسیله اشاره گر آدرس آن را به کتابخانه ارسال می کنید و سپس در کتابخانه از آن استفاده می نمایید.
                روش راحتتر: اگر شما در سورس اصلی یک متغییر را به صورت سراسری تعریف کنید در کتابخانه هم به آن دسترسی دارید و مقدار این متغییر از بین هم نمی رود و هیچ مشکلی پیش نمی آید در زمانی که سورس دارد از این متغییر استفاده می کند یا کتابخانه.
                اما اگر شما در کتابخانه یک متغییر را به صورت سراسری تعریف کنید در سورس اصلی به آن دسترسی ندارید و فقط در کتابخانه در دسترس است همچنین این متغییر رفتاری مانند متغییر سراسری در سورس اصلی دارد یعنی وقتی که اجرای برنامه به سورس اصلی بر می گردد این متغییر ها مقدار خود را حفظ می کنند و پاک نمی شوند. (البته این مواردی که گفتم در مورد کتابخانه ای است که به صورت .h و .c و متغییر سراسری در فایل .c تعریف شده است.)
                نوشته اصلی توسط جعفری
                سپاس فراوان از آقا aliila :mrgreen:
                ممنون از جواب کاملتون، ولی من که نفهمیدم چی گفتید
                پس برای رفع مشکلم و درک موضوع باید در مورد شی گرایی مطالعه کنم؟
                باز هم سپاس
                اینایی که من گفتم را متوجه شدید یا بیشتر توضیح بدم؟!

                دیدگاه


                  #23
                  پاسخ : مشکلات ساده برنامه نویسی!!!؟؟

                  سلام و سپاس ویژه از استاد بزرگوار آقا حامد :mrgreen:
                  اختیار دارید حرفهای شما رو بی کم . کاست متوجه شدم, حرفهای آقا aliila رو واسه این نفهمیدم که شی گرایی رو بلد نیستم :biggrin:
                  متغیرهایی رو که می خواستم هر دو سورس به اونا دسترسی داشته باشن رو با روش راحتتره شما قبلا اینکارو انجام داده بودم یعنی در سورس اصلی اونا رو جهانی تعریف کرده بودم ولی توی سورس کتابخانه شناخته نمی شد!!!! :mrgreen:
                  بالاخره با یه جابجایی مشکل رفع شد: دستورات اضافه کردن هدر و سورس کتابخانه را بعد از تعریف متغیر های جهانی در سورس اصلی قرار دادم و درست شد!!

                  اما آیا مفهوم شی گرایی در این مورد کمک کننده است؟ بدم نمی یاد یادش بگیرم!! :mrgreen:
                  سپاس سپاس سپاس
                  همیشه بزرگوار تر از آن باشید که برنجید
                  و نجیب تر از آن باشید که برنجانید!

                  دیدگاه

                  لطفا صبر کنید...
                  X