بنابراین شما میخواهید از کتابخانههای cross platform استفاده کنید. یعنی کتابخانههایی که چندین بار برای هر سیستمعامل بطور کامل نوشته شدهاند. مثلا من کتابخانهام را برای ویندوز مینویسم، سپس همان کتابخانه را با همان توابع و ساختارها، برای گنو/لینوکس آماده میکنم (پورت میکنم).اما من دنبال اینم که این وابستگی به سیستم عامل رو کنار بزنم و برنامه من تحت هر platform ای کار کنه.
برای کتابخانههای موجود به خاطر عدم آشنایی، نمیتوانم کتابخانه خاصی را پیشنهاد کنم:
http://stackoverflow.com/questions/1...-c-dsp-library
http://www.music.helsinki.fi/researc...ion/SPKit.html
برای نوشتن سیستمعامل ابتدا باید هسته (کرنل kernel) آن را نوشت. برای نوشتن کرنل به زبان سی++ نباید از هیچ کتابخانهای استفاده کرد حتی از بعضی کلمات کلیدی مثل dynamic_cast و new و throw و غیره نیز نباید استفاده کرد. زیرا آنها احتیاج به پشتیبانی از طرف سیستمعامل دارند. برای استفاده از کلمات کلیدی مذکور، خود شما باید آنها را پیادهسازی کنید (صرف نظر از وجود یک سیستمعامل). برای پیادهسازیهای خاص در خلل دستورات سی++ از دستورات اسمبلی نیز استفاده میشود. این مقاله کوچک را بخوانید، شما را با روش نوشتن کرنل به زبان سی++ آشنا میکند، در نهایت کرنلی خواهید داشت که متن Hello World را چاپ میکند (در این مورد، بدون استفاده از اسمبلی).پس چطور بخشی از ویندوز رو با این زبانها نوشتن، در صورتی که شما می فرمائید برای استفاده از برخی امکانات نیاز به کتابخانه های وابسته به سیستم عامل دارید؟![]()
برای نوشتن برنامههای سیستمی از جاوا استفاده نمیکنند.در پایان می تونم سوالمو اینجوری مطرح کنم که بین Java و C/C++ برای انجام برنامه های سیستمی کدوم بر دیگری قابل prefer هست و در مباحث Academic قابل استفاده هستند.( دانشگاه های مطرح مثل MIT یا هاروارد و یا دانشگاه های داخلی مثل امیر کبیر ، علم و صنعت حداقل در مقطع ارشد)