نمایش نتایج 1 تا 9 از 9

نام تاپیک: ساختن DLL با VC++‎

  1. #1

    Tick ساختن DLL با VC++‎

    سلام
    فرض کنید توی project مون یک سری function و class داریم ، و این برنامه از یک سری dll و lib دیگه استفاده می کنه ،
    چطور باید project مون رو dll کامپایل کنیم تا کاربر class ها و function های ما نیازی به داشتن lib ها و dll هایی که ما توی project مون include کردیم نداشته باشن و برای اجرا فقط lib ما رو include کنن و dll مون رو کنار برنامشون بزارن ...
    با تشکر پیشاپیش...

  2. #2
    کاربر دائمی آواتار Delphi Coder
    تاریخ عضویت
    آذر 1386
    محل زندگی
    c:\windows\system32
    پست
    579
    نمیشه. اگه از dll های خاصی استفاده کردید حتما اونا هم باید با Dll شما حمل بشن.

  3. #3
    نقل قول نوشته شده توسط Delphi Coder مشاهده تاپیک
    نمیشه. اگه از dll های خاصی استفاده کردید حتما اونا هم باید با Dll شما حمل بشن.
    مشکلی نیست ، مهم برام اینه که موقع برنامه نویسی با dll ما ، کاربر به Include کردن .lib ها و header هایی که ما inlcude کردیم نیاز نداشته باشه ...

  4. #4
    موقع برنامه نویسی با dll ما ، کاربر به Include کردن .lib ها و header هایی که ما inlcude کردیم نیاز نداشته باشه ..
    وقتی یک DLL مستقل میسازی کافی هست که هدرش رو منتشر کنی . برای استفاده از اون به چیز دیگری لازم نیست .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  5. #5
    لطفا به سوال دقت کنید ...
    اون DLL مستقل کوفتی رو چطور بسازم ...

  6. #6
    کاربر دائمی آواتار ICEMAN
    تاریخ عضویت
    تیر 1383
    محل زندگی
    Hyper-V
    پست
    476
    http://www.geocities.com/sujitmanolikar/dllhowto.html
    فک کنم تو این لینک به اندازه کافی واضح توضیح داده باشه

  7. #7
    به اندازه کافی واضح توضیح داده باشه
    من نفهمیدم... یه جوون مردی بیاد توضیح بده نمی شه ...؟؟
    توی VS 2005 می خوام این کار رو بکنم ...

  8. #8
    نقل قول نوشته شده توسط lord_akinak مشاهده تاپیک
    من نفهمیدم... یه جوون مردی بیاد توضیح بده نمی شه ...؟؟
    توی VS 2005 می خوام این کار رو بکنم ...
    در حالت معمول dll آن شرکت نیز باید در کنار dll شما ، کنار فایل اجرایی شما باشد و برای استفاده dll شما هم ، اگر کاربر شما فقط به توابع dll شما دسترسی دارد ، لینک کردن به توابع شما کافیست (چون فایل dll شما قبلا کامپایل شده و کاربر جدید که از dll شما استفاده می کند دیگر نیازی به لینک کردن به dll قبلی ندارد ، اما هر دو dll باید موجود باشند) .
    برای این کار هم شما می توانید مثلا از روش LoadLibrary استفاده کنید و از dll قبلی به همان شکل استفاده کنید ، تا دیگر نیازی به لینک کردن به import library برای dll قبلی نداشته باشید و فقط یک جستجو برای یافتن dll انجام شود.

    اگر source code را داشتید می توانستید dll شرکت دیگر را هم حذف و در dll خودتان ترکیب کنید.
    --------------
    البته برخی ابزار و روش ها وجود دارد که برای merge می توانند به نحوی به کار روند مانند :
    ILMerge مایکروسافت برای دات نت
    http://research.microsoft.com/~mbarnett/ILMerge.aspx

    روش دیگری هم برای کارهای غیر دات نت وجود دارد که دقیقا از کارآمدی آن مطمئن نیستم و برنامه نویسی را نیز پر دردسر می کند ، مانند استفاده از custom resource که dll دیگر را در dll خودتان اضافه می کنید و برای استفاده هم مشکلات زیادی خواهید داشت :
    نمونه کد ها

    static-link library هم برای مواقعی هست که شما کتابخانه را از ابتدا به همان صورت static تعریف می کنید.(lib.)

  9. #9
    مشکل با این لینک حل شد ...
    http://www.functionx.com/visualc/lib.../staticdll.htm

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •