واضح آرشیو وب فارسی:سایت ریسک: MAR_Programmer20-05-2009, 12:32 PMسلام خدمت دوستان از اونجا که سر فصل این تاپیک C بود نه ++VC من سوال خودم رو اینجا مطرح کردم امیدوارم مدیران سایت من رو مجازات نکنن سوال من اینه که چطوری می تونم از یک فایل Obj که توی ASM ساختم توی TC v3.0 استفاده کنم سوال رو بیشتر توضیح می دم: ببینید ما توی اسمبلی می تونیم فایل های خاصی رو داشته باشیم که توشون زیربرنامه ها رو قرار بدیم و در آخر از طریق برنامه Link این فایل ها رو به برنامه اصلی پیوند بدیم مثلا من یه تابع توی فایلی دارم به صورت زیر اونو ایجاد کردم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! حالا چطوری می تونم توی TC این فایل رو (در واقع تابع رو) استفاده کنم ببینید من معرفی تابع رو انجام دادم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اما موقع لینک کردن که از tcc استفاده می کنم به فایل Obj من گیر میده می خواستم از حضور اساتید استفاده کنم و ببینم چطوری می تونم این مشکل رو حل کنم (راهنمایی بیشتر این مبحث یکی از مباحث مورد تدریس در درس برنامه سازی سیستم هست) پیشاپیش ممنون DaneshD21-05-2009, 04:11 AMبه احتمال زیاد تابع اسمبلی با نام extern در C همخوانی نداره که لینکر پیغام خطا میده. بطور کلی سعی کن این الگو رو دنبال کنی: تابع خودت در اسمبلی رو به این صورت بنویس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!بعد در کد C این تابع رو به اینصورت فراخوانی کن: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! حالا برای فراخوانی تابع با متغیرهای ورودی در اسمبلی، اگر با Directive ها آشنایی داری و به کمک TASM میتونی به صورت خلاصه زیر یک متغیر رو pass کنی به برنامت در C: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! که متغیر ورودی در NOS ذخیره شده. برای درک بهتر Directive ها، کد بالا در واقع کد پایین است که بدون Directive نوشته شده است: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! که فراخوانی اون در کد C شما به صورت زیر خواهد بود: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در آخر، برای کامپایل کردن برنامه ابتدا کد اسمبلی و سپس کد C را به صورت زیر کامپایل کنید: TASM MUFUN.asm که منجر به تولید فایل MYFUN.obj می گردد. سپس فایل C را به صورت زیر کامپایل کنید: TCC myprogram.c MYFUN.asm دقت کنید فایل C را در همان مسیری کامپایل کنید که فابل obj اسمبلی ساخته شده وجود داشته باشد. MAR_Programmer22-05-2009, 04:41 PMبا سلام حالا اگر من به جای TASM از MASM استفاده کنم چی تفاوتی بین این دو کامپایلر هست؟ DaneshD22-05-2009, 04:51 PMفکر نکنم فرقی داشته باشه. امتحان کن ببین چی میشه. گرچه TASM فکر کنم با خود Turbo C عرضه میشه. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 278]