انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: learner:~$ در 19 امرداد 1403، 08:06 ب‌ظ

عنوان: پیدا کردن کد منبع کتابخانه ها(‌حل شد)
ارسال شده توسط: learner:~$ در 19 امرداد 1403، 08:06 ب‌ظ
درود

میخوام مهارت برنامه نویسی خودم رو بالا ببرم و این فکر به سرم زد که چه کاری بهتر از خوندن کد منبع کتابخانه ها؟
برای همین گفتم برم توی /usr/include  و بیام نحوه پیاده سازی کتابخانه های استاندارد زبان سی رو ببینم. اما هرچیزی که دیدم فایل سرآیند بود مثلا stdio.h (که اکثر همه فایل های سرایند دستورات پیش پردازنده هستند)خب قطعا یک فایلی به نام stdio.c بوده که پیاده سازی شده و تبدیل به یک فایل سرآیند شده. البته میخوام هرچی که میتونم نحوه پیاده سازی همه کتابخانه های موجود رو بخونم و یادبگیرم  از همه مهم تر درک کنم.
ممنون میشم کمکم کنید  و بگید چیکار کنم.
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 19 امرداد 1403، 08:45 ب‌ظ
چون کتابخانه ها به صورت از پیش کامپایل شده هستند و شما با اضافه کردن پرونده های ضمیمه‌ای باعث میشید الحاق گر برای توابعی که  شما در کدتون استفاده کردید بره در کتابخانه ای که پرونده‌ی ضمیمه‌ای به اون اشاره میکنه بگرده و فقط از اون پرونده‌‌ی باینری بخش اون توابعو به پرونده‌ی اجراییمون اضافه کنه.
پرونده ی کتابخانه‌ای توابع glibc در
/usr/x86_64-linux-gnu/libc.so.6/ وجود داره.
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: learner:~$ در 19 امرداد 1403، 08:48 ب‌ظ
چون کتابخانه ها به صورت از پیش کامپایل شده هستند و شما با اضافه کردن پرونده های ضمیمه‌ای باعث میشید الحاق گر برای توابعی که  شما در کدتون استفاده کردید بره در کتابخانه ای که پرونده‌ی ضمیمه‌ای به اون اشاره میکنه بگرده و فقط از اون پرونده‌‌ی باینری بخش اون توابعو به پرونده‌ی اجراییمون اضافه کنه.
پرونده ی کتابخانه‌ای توابع glibc در
/usr/x86_64-linux-gnu/libc.so.6/ وجود داره.
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 19 امرداد 1403، 08:54 ب‌ظ
نقل‌قول
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
نه باید بری کد glibc را بارگیری کنی.
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: learner:~$ در 19 امرداد 1403، 09:57 ب‌ظ
نقل‌قول
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
نه باید بری کد glibc را بارگیری کنی.
خب کجاست اون مسیری که به من دادی همچین چیزی وجود نداره
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 19 امرداد 1403، 10:28 ب‌ظ
زیری رو بارگیری کن و کدهای c. رو ببین.
https://ftp.gnu.org/gnu/glibc/glibc-2.40.tar.gz

نقل‌قول
خب کجاست اون مسیری که به من دادی همچین چیزی وجود نداره
احتمالا اشتباه نگارشی داره مسیرم.
عنوان: پاسخ : پیدا کردن کد منبع کتابخانه ها
ارسال شده توسط: دانیال بهزادی در 20 امرداد 1403، 05:34 ب‌ظ
پروندهٔ ‪/usr/include/stdlib.h‬ در بستهٔ libc6-dev موجوده. برای داشتن کد مبدأش می‌تونی این رو بزنی:
$ apt source libc6-dev