saalek110
Well-Known Member
لیست تمام توابع C و کتابخانه استاندارد POSIX
لیست تمام توابع زبان برنامه نویسی C به همراه جزئیات هر یک:
C + POSIX API Documentation IEEE 1003.1-2008
من بعد از یادگیری جاوا و کار کردن با java API documentation همیشه این سوال گوشه ذهنم بود که چرا زبان سی همچین چیزی نداره. داشتن یک لیست کامل از تمام توابع زبان برنامه نویسی خیلی حیاتی هست طوری که بدون آن برنامه نویسی اون حرفه ای بودن خودش رو از دست میده و دست و بال ادم بسته میشه. هیچ کاری از خودش نمیتونه انجام بده و فقط باید مثال های دیگران رو بکار بگیره. یک برنامه نویس حسابی نباید وابسته به 4 تا تابع تو جزوه و کتاب باشه و باید بتونه مستقلا هر چی دلش خواست بنویسه. حالا بعد از چند سال تقریبا به جواب سوالم دارم نزدیک میشم:
برای اینکه موقع نوشتن یک برنامه سی ببینیم چه توابعی در اختیار داریم راه های زیر رو باید با هم ترکیب کنیم:
1- جستجو در C + POSIX API Documetation IEEE 1003.1-2008
2- جستجو در MSDN
3- جستجو در GNU C Library Manual
4- زدن کلید Ctrl+Space در محیط برنامه نویسی (مثلا Eclipse) برای باز شدن auto-complete یا Content-Assist
5- باز کردن هدر مربوطه به صورت درختی و مشاهده توابع درون header
شرح برخی نکات فنی و اینکه POSIX چیست:
- زبان C بر خلاف جاوا به تنهایی توابع زیادی ندارد کتابخانه های جانبی به آن قدرت میدهند. از مهمترین کتابخانه ها که استاندارد IEEE شده POSIX هست که در GCC لینوکس کامل پشتیبانی میشود ولی برای استفاده در ویندوز باید از کامپایلر Cygwin یا Mingw استفاده شود و کامپایلر مایکروسافت posix رو پیش فرض نمیشناسد.
- POSIX : Portable Operating System Interface for Unix
- با برنامه نویسی تحت { Eclipse + Mingw-Cygwin } با کتابخانه استاندارد POSIX ، کد شما هم تحت ویندوز قابل کامپایل خواهد بود هم تحت لینوکس. بعبارتی کد شما portable - cross platform خواهد بود. بر خلاف برنامه نویسی با visual studio مایکروساقت. ضمنا در کامپایلر های فوق (gnu gcc) کتابخانه POSIX بطور پیش فرض وجود دارد و نیازی به دانلود جداگانه ان نیست.
- برای برنامه نویسی شبکه و نیز ریسمان (thread) ، خود C استاندارد تابع ندارد . اما POSIX توابع کاملی در این زمینه ها دارد (sys/socket.h برای شبکه و pthread.h برای چند پروسه ای کردن یا همان ریسمان بندی ). طبیعی هست که استفاده از این کتابخانه استاندارد به کتابخانه های native ویندوز (winsock2.h برای شبکه) شرف دارد.
- در هنگام کامپایل برنامه تحت ویندوز با Mingw ممکن است برخی هدر ها که native ویندوز باشند توسط linker شناخته نشوند و خطای undefined reference to function دهند در این حالت باید مسیر library هدر فوق رو به linker بشناسونید ، با دستورات زیر : ( lws2_32- برای هدر winsock2.h و lpthread.dll- برای هدر pthread.h )
همچنین باید فایل dll این هدر ها همراه exe برنامه تون باشه . این فایلها رو میتونید از پوشه mingw/bin کپی کنید. libws2_32.a و libpthread.dll.a نام کتابخانه هایی است در پوشه mingw/lib .
لیست کل توابع سی
لیست تمام توابع زبان برنامه نویسی C به همراه جزئیات هر یک:
C + POSIX API Documentation IEEE 1003.1-2008
من بعد از یادگیری جاوا و کار کردن با java API documentation همیشه این سوال گوشه ذهنم بود که چرا زبان سی همچین چیزی نداره. داشتن یک لیست کامل از تمام توابع زبان برنامه نویسی خیلی حیاتی هست طوری که بدون آن برنامه نویسی اون حرفه ای بودن خودش رو از دست میده و دست و بال ادم بسته میشه. هیچ کاری از خودش نمیتونه انجام بده و فقط باید مثال های دیگران رو بکار بگیره. یک برنامه نویس حسابی نباید وابسته به 4 تا تابع تو جزوه و کتاب باشه و باید بتونه مستقلا هر چی دلش خواست بنویسه. حالا بعد از چند سال تقریبا به جواب سوالم دارم نزدیک میشم:
برای اینکه موقع نوشتن یک برنامه سی ببینیم چه توابعی در اختیار داریم راه های زیر رو باید با هم ترکیب کنیم:
1- جستجو در C + POSIX API Documetation IEEE 1003.1-2008
2- جستجو در MSDN
3- جستجو در GNU C Library Manual
4- زدن کلید Ctrl+Space در محیط برنامه نویسی (مثلا Eclipse) برای باز شدن auto-complete یا Content-Assist
5- باز کردن هدر مربوطه به صورت درختی و مشاهده توابع درون header
شرح برخی نکات فنی و اینکه POSIX چیست:
- زبان C بر خلاف جاوا به تنهایی توابع زیادی ندارد کتابخانه های جانبی به آن قدرت میدهند. از مهمترین کتابخانه ها که استاندارد IEEE شده POSIX هست که در GCC لینوکس کامل پشتیبانی میشود ولی برای استفاده در ویندوز باید از کامپایلر Cygwin یا Mingw استفاده شود و کامپایلر مایکروسافت posix رو پیش فرض نمیشناسد.
- POSIX : Portable Operating System Interface for Unix
- با برنامه نویسی تحت { Eclipse + Mingw-Cygwin } با کتابخانه استاندارد POSIX ، کد شما هم تحت ویندوز قابل کامپایل خواهد بود هم تحت لینوکس. بعبارتی کد شما portable - cross platform خواهد بود. بر خلاف برنامه نویسی با visual studio مایکروساقت. ضمنا در کامپایلر های فوق (gnu gcc) کتابخانه POSIX بطور پیش فرض وجود دارد و نیازی به دانلود جداگانه ان نیست.
- برای برنامه نویسی شبکه و نیز ریسمان (thread) ، خود C استاندارد تابع ندارد . اما POSIX توابع کاملی در این زمینه ها دارد (sys/socket.h برای شبکه و pthread.h برای چند پروسه ای کردن یا همان ریسمان بندی ). طبیعی هست که استفاده از این کتابخانه استاندارد به کتابخانه های native ویندوز (winsock2.h برای شبکه) شرف دارد.
- در هنگام کامپایل برنامه تحت ویندوز با Mingw ممکن است برخی هدر ها که native ویندوز باشند توسط linker شناخته نشوند و خطای undefined reference to function دهند در این حالت باید مسیر library هدر فوق رو به linker بشناسونید ، با دستورات زیر : ( lws2_32- برای هدر winsock2.h و lpthread.dll- برای هدر pthread.h )
همچنین باید فایل dll این هدر ها همراه exe برنامه تون باشه . این فایلها رو میتونید از پوشه mingw/bin کپی کنید. libws2_32.a و libpthread.dll.a نام کتابخانه هایی است در پوشه mingw/lib .
لیست کل توابع سی
آخرین ویرایش: