2021-04-07 18:31:16
امبدد لینوکس – قسمت دوازدهم – کار با crosstool-NG – زنجیرهای از ابزارهای لازم برای ساختن همه چیز (بخش هشتم)
#سیسوگ #Embeded_Linux #امبدد_لینوکس #Crosstool_NG
نویسنده : #Rich_Dad
خوب! توی قسمت قبل با crosstool-NG و menuconfig آشنا شدیم و همین طور بتونیم برای “رسپبری پای سه بی پلاس – Raspberry Pi 3 B Plus” و “لیچی پای نانو – Lichee Pi Nano” هم تولچین ساختیم. توی این قسمت میخوایم اجزا تولچین رو بررسی کنیم و کمی بیشتر با ابزار های داخل اون آشنا بشیم.
آناتومی تولچین
سلامی دوباره!
الآن که من دارم قسمت جدید رو مینویسم عید هست پس سال نوتون مبارک و امیدوارم در سال جدید مهارتی جدید به تواناییهاتون اضافه بشه
آخرین جمله قبلیمون این بود «خوب الان همه چیز رو برای ساختن همه چیز دارید!» علاوه بر همه چیز زمان زیادی هم داشتین تقریبا شش ماه!
امیدوارم که یک کارهایی کرده باشین
بیاید یه سری اطلاعات از اجزا تولچین که ساختیم کسب کنیم ...
Sysroot، کتابخانه و سرآیندها
واسه sysroot معادل فارسی سراغ نداشتم
Sysroot درحقیقت یه دایرکتوری هست با یه سری زیردایرکتوریها که توشون کتابخانهها و فایلهای سرآیند و فایلهای تنظیماتی هست. Sysroot رو میشه در زمان کامپایل برای کامپایلرمون با آرگومان –sysroot ست کنیم.
تولچین به جز کامپایلر دیگه چیا داره؟
خیلی چیزا!
برای شناخت اجزا تولچین کافیه یه نگاه به محتویات فولدر bin بندازین؟ (کدوم bin؟ همونی که توش کامپایلر هست.)
اجزای کتابخانه
کتابخانه C یک کتابخانه نیست و در حقیقت از چهارتا بخش تشکیل شده که باهم APIی POSIX رو پیاده سازی میکنن:
libc, libm, libpthread, librt
از این چهار تا کتابخانه فقط libc به صورت پیش فرض با کامپایلر لینک هست بقیه رو در صورتی که توی برنامه ازشون استفاده کرده باشیم باید به کامپایلرمون بگیم، چه جوری؟ اینجوری که –l میذاریم و بدون اسم کتابخانه رو که lib ازش حذف شده در ادامهش مینویسم، البته این قانون معمولا در مورد بقیه کتابخانهها هم صدق میکنه. مثلا اگه از توابع ریاضیاتی استفاده کرده باشیم در برنامهمون این جوری کامپایلش میکنیم:
$GCC myprog.c -o myprog –lm
سوال: یه وقتایی یه برنامههایی هست که هی میگه این کتابخونه نیست اون یکی نیست، این ورژنش نمیخونه و … چه کنیم؟
جواب با دو تا دستور اول ببینید چه کتابخونههایی با چه ورژنهایی میخواد و بعد برید دنبال یافتنشون و گذاشتنشون سرجاش! ...
مطلب بالا، تنها خلاصه و نمایشی کلی از اصل مقاله است، لطفا مقاله کامل را در وب سایت سیسوگ (ادامه مطلب) مطالعه فرمایید.
ادامه مطلب
عضویت در کانال تلگرام سیسوگ
2.7K views15:31