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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: پیدا کردن کد منبع کتابخانه ها(‌حل شد)  (دفعات بازدید: 749 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پیدا کردن کد منبع کتابخانه ها(‌حل شد)
« : 19 امرداد 1403، 08:06 ب‌ظ »
درود

میخوام مهارت برنامه نویسی خودم رو بالا ببرم و این فکر به سرم زد که چه کاری بهتر از خوندن کد منبع کتابخانه ها؟
برای همین گفتم برم توی /usr/include  و بیام نحوه پیاده سازی کتابخانه های استاندارد زبان سی رو ببینم. اما هرچیزی که دیدم فایل سرآیند بود مثلا stdio.h (که اکثر همه فایل های سرایند دستورات پیش پردازنده هستند)خب قطعا یک فایلی به نام stdio.c بوده که پیاده سازی شده و تبدیل به یک فایل سرآیند شده. البته میخوام هرچی که میتونم نحوه پیاده سازی همه کتابخانه های موجود رو بخونم و یادبگیرم  از همه مهم تر درک کنم.
ممنون میشم کمکم کنید  و بگید چیکار کنم.
« آخرین ویرایش: 25 امرداد 1403، 06:28 ب‌ظ توسط learner:~$ »
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2657
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #1 : 19 امرداد 1403، 08:45 ب‌ظ »
چون کتابخانه ها به صورت از پیش کامپایل شده هستند و شما با اضافه کردن پرونده های ضمیمه‌ای باعث میشید الحاق گر برای توابعی که  شما در کدتون استفاده کردید بره در کتابخانه ای که پرونده‌ی ضمیمه‌ای به اون اشاره میکنه بگرده و فقط از اون پرونده‌‌ی باینری بخش اون توابعو به پرونده‌ی اجراییمون اضافه کنه.
پرونده ی کتابخانه‌ای توابع glibc در
/usr/x86_64-linux-gnu/libc.so.6/ وجود داره.
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #2 : 19 امرداد 1403، 08:48 ب‌ظ »
چون کتابخانه ها به صورت از پیش کامپایل شده هستند و شما با اضافه کردن پرونده های ضمیمه‌ای باعث میشید الحاق گر برای توابعی که  شما در کدتون استفاده کردید بره در کتابخانه ای که پرونده‌ی ضمیمه‌ای به اون اشاره میکنه بگرده و فقط از اون پرونده‌‌ی باینری بخش اون توابعو به پرونده‌ی اجراییمون اضافه کنه.
پرونده ی کتابخانه‌ای توابع glibc در
/usr/x86_64-linux-gnu/libc.so.6/ وجود داره.
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2657
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #3 : 19 امرداد 1403، 08:54 ب‌ظ »
نقل‌قول
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
نه باید بری کد glibc را بارگیری کنی.
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #4 : 19 امرداد 1403، 09:57 ب‌ظ »
نقل‌قول
متوجه نشدم یعنی مثلا من بخوام نحوه پیاده سازی کتابخانه stdlib.h  رو بخونم باید برم اونجا؟
نه باید بری کد glibc را بارگیری کنی.
خب کجاست اون مسیری که به من دادی همچین چیزی وجود نداره
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2657
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #5 : 19 امرداد 1403، 10:28 ب‌ظ »
زیری رو بارگیری کن و کدهای c. رو ببین.
https://ftp.gnu.org/gnu/glibc/glibc-2.40.tar.gz

نقل‌قول
خب کجاست اون مسیری که به من دادی همچین چیزی وجود نداره
احتمالا اشتباه نگارشی داره مسیرم.
« آخرین ویرایش: 19 امرداد 1403، 11:56 ب‌ظ توسط بریتانیای کبیر »
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : پیدا کردن کد منبع کتابخانه ها
« پاسخ #6 : 20 امرداد 1403، 05:34 ب‌ظ »
پروندهٔ ‪/usr/include/stdlib.h‬ در بستهٔ libc6-dev موجوده. برای داشتن کد مبدأش می‌تونی این رو بزنی:
$ apt source libc6-dev
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن