تالار گفتمان مانشت
نحوه ایجاد کتابخانه در زبان C - نسخه‌ی قابل چاپ

نحوه ایجاد کتابخانه در زبان C - targol - 20 دى ۱۳۹۳ ۰۷:۰۸ ب.ظ

سلام دوستان
یه برنامه به زبان سی (با استفاده از نرم افزار codeBlocks ) نوشتم. برنامه توابع زیادی داره . باید کتابخونه هایی ایجاد کنم و هر دسته توابع رو در اون قرار بدم.
الان آیا کاری که باید انجام بدم این هست؟
برای هر کتابخونه یه فایل با پسوند .h ایجاد کنم و توابع رو در اون قرار بدم و بعد با دستور include به برنامه اصلی اضافه کنم.

کار دیگه ای هم نیاز هست انجام بدم؟

تکلیف متغیرهایی که تو اکثر توابع استفاده شدن چیه؟ باید تو هر کتابخونه تعریف اونها رو هم قرار بدم؟ بعد مقدارشون اشتباه نمیشه؟

ممنون میشم اگر جواب بدید. به جوابش خیلی نیاز دارم.

RE: نحوه ایجاد کتابخانه در زبان C - blackhalo1989 - 20 دى ۱۳۹۳ ۰۷:۲۲ ب.ظ

من یه مدت با سی++ کار می کردم. تو سی++ ما یه سری تعاریف رو درون فایل هدر میذاشتیم و بعد پیاده سازی ها رو درون یه فایل همنام با فایل هدر ولی با پسوند cpp قرار میدادیم. مثل این:
کد:
MyClass.h:
class MyClass {
    void meth();
};

MyClass.cpp

#include "MyClass.h"

void MyClass::meth() {
    //...
}
اگه خطای دستوری داره واسه اینه که یه مدت باهاش کار نکردم.

نحوه ایجاد کتابخانه در زبان C - targol - 20 دى ۱۳۹۳ ۰۹:۴۴ ب.ظ

خیلی ممنون
کاری که گفتید رو انجام دادم. اما بخاطر متغیرای global مشکل داره. برنامه متغیر global زیاد داره که بعضی موقع تعریف مقداردهی اولیه شدن بعضی هم در تابع main .حالا بخاطر همین متغیرها خطا میگیره.
راهی برای رفعش وجود داره؟
ممنون

RE: نحوه ایجاد کتابخانه در زبان C - blackhalo1989 - 20 دى ۱۳۹۳ ۰۹:۵۹ ب.ظ

(۲۰ دى ۱۳۹۳ ۰۹:۴۴ ب.ظ)targol نوشته شده توسط:  خیلی ممنون
کاری که گفتید رو انجام دادم. اما بخاطر متغیرای global مشکل داره. برنامه متغیر global زیاد داره که بعضی موقع تعریف مقداردهی اولیه شدن بعضی هم در تابع main .حالا بخاطر همین متغیرها خطا میگیره.
راهی برای رفعش وجود داره؟
ممنون
برنامه تون c++ هست یا c?

RE: نحوه ایجاد کتابخانه در زبان C - targol - 20 دى ۱۳۹۳ ۱۱:۱۳ ب.ظ

برنامم c هست.
من برای اینکه تست کنم اومدم دو تا تابع رو جداکردم از برنامه اصلی و داخل یه فایل با پسوند .c قرار دادم.
یه فایل دیگه هم ساختم با پسوند .h و فقط پروتوتایپ دو تا تابع رو گذاشتم داخلش. و داخل فایلِ همنام خودش و داخلِ فایل برنامه اصلی هم include اش کردم.
چون برنامم زبان c هست طبیعتا کلاس نداشتم به همین خاطر این خط از کد شما رو داخل فایل .h ننوشتم
کد:
MyClass.h:
class MyClass {
};

فقط تعریف توابع رو نوشتم داخل این فایل. نیاز هست چیز دیگه ای بجای این دو خط بنویسم؟
متغیرای global رو که داخل هر دو فایل استفاده شدن خطا میگیره و اونا رو تو فایل c جدیدی که ساختم نمیشناسه.

RE: نحوه ایجاد کتابخانه در زبان C - blackhalo1989 - 21 دى ۱۳۹۳ ۰۸:۱۱ ب.ظ

یعنی میخواید دو تا متغیر گلوبال با یه اسم تعریف کنید یا میخواید از یه متغیر گلوبال که تو یه فایل تعریف شده تو یه فایل دیگه استفاده کنید؟

نحوه ایجاد کتابخانه در زبان C - targol - 21 دى ۱۳۹۳ ۰۹:۰۶ ب.ظ

هدفم این بود که از یه متغیر global تو چند تا فایل استفاده کنم. یه extern قبلش گذاشتم حل شد.
خیلی ممنون