View Full Version : پیوند اسمبلی و سی
Iran-PC
جمعه 18 آذر 1384, 12:21 عصر
سلام
میخواستم بدونم چطور میشه یه فایل اسمبلی رو به یک فایل سی پیوند زد؟
یه مثالی هست که یک فایل با پسوند
asm
داره و یک فایل با پسوند
cpp
و تو فایل سی از توابع داخل فایل اسمبلی استفاده میکنه.
اما من که اینکار رو میکنم ارور میده.
aakh1361
جمعه 18 آذر 1384, 17:41 عصر
شما باید توابعی که درون فایل اسمبلی تعریف کردین رو به اولشون یک _ اضافه کنید وداخل فایل C تون اسن توابع اسمبلی رو بدن _ فراخوانی کنید
مثال
;asm
_myasm proc far
retf
_myasm endp
//C
extern far void myasm();
void main()
{
myasm();
};
حالا شما هر کدوم رو تک تک کامپایل کن و فایل ابجکتشون رو با هم لینک کن
نکته :فایلهای CPP در زمان کامپایل نام توابع خارجی رو تیکه تیکه می کنند بهتره فایلوتن رو با پسوند C کامپایل کنید
Iran-PC
جمعه 18 آذر 1384, 20:23 عصر
از این ارور میده مدام
Compiling SVGA.C:
Linking SVGA.EXE:
•Linker Error: Undefined symbol _setpix in module SVGA.C
Linker Error: Undefined symbol _init800600 in module SVGA.C
فایل اسمبلی رو هم که میخوام کامپایل کنم همین ارور رو میده.
فایلها رو هم که تو اون تاپیک نوشتم.
aakh1361
شنبه 19 آذر 1384, 03:06 صبح
فایل اسمبلی رو هم که میخوام کامپایل کنم همین ارور رو میده.
چه اروری میده ؟
خروجی شون رو نشون بده
Iran-PC
شنبه 19 آذر 1384, 22:32 عصر
نمیدونم چرا ولی همون ارور بالایی رو میده
یعنی باز هم به فایل سی گیر میده.
ببینم این به خاطر این نیست که اسم هر دو یکیه و فقط پسوندشون فرق میکنه؟
aakh1361
یک شنبه 20 آذر 1384, 00:42 صبح
بینم این به خاطر این نیست که اسم هر دو یکیه و فقط پسوندشون فرق میکنه؟
اگر فایل اسمبلی هم SVGA.ASM هست اسمش رو عوض کن
خروجی یادت نره !
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.