PDA

View Full Version : سوال: چطور مجزا کامپایل کنیم



amin1softco
سه شنبه 11 اسفند 1388, 21:56 عصر
فرض کنید ما یک سری تابع برای یک شرکتی نوشتیم که هر کدومشون یک کار خاصی را انجام میده و می خوهیم که سورس اصلی رو به اون شرکت ندیم چطوری ما باید این کار رو انجام بدیم؟؟
خواهشا کامل توضیح بدید
البته یک بار فرض کنید ما در سالی هستیم که همه جا از توربو سی و بورلند سی استفاده می کنند و محیط داس .obj
یک بار هم فرض کنید ما در سال 2006 هستیم و با ویژوال سی پلاس پلاس کار می کنیم و محیط ویندوز .dll

tdkhakpur
چهارشنبه 12 اسفند 1388, 13:17 عصر
خب اگر داس هستید کد را تبدیل بهexe کنید بعد آن را در برنامه اصلی فراخوانی کنید.
در مرحله دیگر از dll استفاده کنید یععنی برنامه را تبدیل به dll کرده و از آن در برنامه اصلی استفاده کنید.

amin1softco
چهارشنبه 12 اسفند 1388, 17:29 عصر
چه قدر من دوست دارم که شما اینقدر جامع و کامل و زیبا توضیح میدن که آدم می فهمه دست مریزا ایول داری جیگر :ناراحت:
اخه به نظر تو من اینو به یک دانشجو بگم اون می تونه دیگه این کار ها رو انجام بده درسته:متعجب:
ولی خوب من گفتم که اون شرکت می خواد از توابعی که ما براشون نوشتیم در برنامه خودشون استفاده کنن نه اینکه برنامه ما رو اجرا کنند؟؟؟؟؟؟؟؟ منظورم استفاده از آبجکت ها در برنامه بود فرض کن با اسمبلی آبجکت نوشتیم الان می خواهیم ازش تو سی استفاه کنیم و یکمی بیشتر خواهشا توضیح بدید با چند تا لینک بدرد بخور

tdkhakpur
چهارشنبه 12 اسفند 1388, 21:17 عصر
ولی خوب من گفتم که اون شرکت می خواد از توابعی که ما براشون نوشتیم در برنامه خودشون استفاده کنن نه اینکه برنامه ما رو اجرا کنند؟؟؟
خب من هم راهش رو گفتم عزیز...

amin1softco
چهارشنبه 12 اسفند 1388, 22:01 عصر
به به عجب جواب کاملی من موندم چرا با این همه استعداد تو ایران هنوز نیروگاه بوشهر نا تموم :تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق::تشویق:
به این میگن جواب کامل دمت گرم با مرام
آقا من که جوابمو گرفتم :چشمک:
http://www.barnamenevis.org/forum/images/icons/icon14.gif لطفا اگه کسی با اسمبلی کار کرده یک تابع جمع دو تا عدد رو بنویسه و بگه چطوری میشه خروجی obj ازش گرفت (از خود اسمبلی با این 8086) و در سی include کرد و از تابع استفاده کرد
با تشکر اما خواهشا دو بیتی جواب ندید :لبخندساده:

tdkhakpur
پنج شنبه 13 اسفند 1388, 10:08 صبح
لطفا اگه کسی با اسمبلی کار کرده یک تابع جمع دو تا عدد رو بنویسه و بگه چطوری میشه خروجی obj ازش گرفت (از خود اسمبلی با این 8086) و در سی include کرد و از تابع استفاده کرد
با تشکر اما خواهشا دو بیتی جواب ندید
دوست گرانمایه شما طرز سوال کردنتان را نمی دانید و یهو واسه خودتان داد و بیداد میکنید برای ارتباط c و اسمبلی از کامپایلر همان c یرای کامپابل استفاده کنید و کتابخانه در ست کرده و آنرا به برنامه تان لینک کنید.
اینکه میگید include اشتباهه شما فقط source code را میتوانید include کنید نه obj رو.
ولی بهتره کتاب برنامه نویسی پیشرفته اسمبلی پیتر نورتن را مطالعه کنید طرز ارتباط دهی اسمبلی و سی درش توضیح داده شده است.
در ضمن کاری که شما میخواهید به جوابش برسید همچین شق القمر و کار سختی نسیت:لبخندساده:

amin1softco
پنج شنبه 13 اسفند 1388, 11:22 صبح
من که نگفتم می خوام شق القمر کنم جیگر من تو جزوه اسمبلی دیدم ایجور نوشته بود اما هرچی فکر کردم چه طور این کار رو انجام بدم به جایی نرسیدم شمام جواب سر بالا میدی ولی خوب میشه انگلیسی اسم این کتاب رو بزاری بازم ممنون
آقا یافتم کتابه رو Advanced Assembly Language (The Peter Norton programming library) (Paperback) تو آمازون همه چی گیر میاد ولی خوب....

amin1softco
پنج شنبه 13 اسفند 1388, 12:10 عصر
یافتم قضیه چیه اول باید این فایل .obj رو تبدیلش کنی به یکی از کتابخانه های .lib یا .ocx یا .dll بعد میشه فراخوانیش کرد دوستان که مایل بدونند چی شد قضیه به این لینک ها یک نگاهی بندازند جالبه:
لینک اول (http://docs.google.com/viewer?a=v&q=cache:8w7zHfhn8SwJ:guideme.itgo.com/atozofc/ch15.pdf+how+create+and+use+.obj+.lib+file+in+c&hl=fa&pid=bl&srcid=ADGEESjSK7b3fDNzY2wkWubU1qFrNIbUjB91pDyJ5XOk s18fFsCcEINs9ShLsN8EUok3RqyNDtOOcrRMvRqXG7XhUxGeYG UIUi01HXjEs-e3VRwGCozfI-NX_KLy45q7h9AZgJ7gdDmI&sig=AHIEtbR0kuFD7_0gd_8Wyj7DDLmPoLwppw)
لینک دوم (http://en.wikipedia.org/wiki/Library_%28computing%29)
لینک سوم (http://en.wikipedia.org/wiki/Dynamic-link_library#Import_libraries)
البته خیلی جالبه حتما بخونیدشون:بوس:
در ضمن لینک این کتابه رو پیدا نکردم اگه لینکشو داری برام پیام خصوصی بزار با تشکر

tdkhakpur
پنج شنبه 13 اسفند 1388, 14:18 عصر
یافتم قضیه چیه اول باید این فایل .obj رو تبدیلش کنی به یکی از کتابخانه های .lib یا .ocx یا .dll بعد میشه فراخوانیش کرد دوستان که مایل بدونند چی شد قضیه به این لینک ها یک نگاهی بندازند جالبه:
لینک اول (http://docs.google.com/viewer?a=v&q=cache:8w7zHfhn8SwJ:guideme.itgo.com/atozofc/ch15.pdf+how+create+and+use+.obj+.lib+file+in+c&hl=fa&pid=bl&srcid=ADGEESjSK7b3fDNzY2wkWubU1qFrNIbUjB91pDyJ5XOk s18fFsCcEINs9ShLsN8EUok3RqyNDtOOcrRMvRqXG7XhUxGeYG UIUi01HXjEs-e3VRwGCozfI-NX_KLy45q7h9AZgJ7gdDmI&sig=AHIEtbR0kuFD7_0gd_8Wyj7DDLmPoLwppw)
لینک دوم (http://en.wikipedia.org/wiki/Library_%28computing%29)
لینک سوم (http://en.wikipedia.org/wiki/Dynamic-link_library#Import_libraries)
البته خیلی جالبه حتما بخونیدشون:بوس:
در ضمن لینک این کتابه رو پیدا نکردم اگه لینکشو داری برام پیام خصوصی بزار با تشکر
آفرین - مطالعه جیز خوبیه خیلی جیزها هست که باید یاد بگیرید.:لبخندساده: