ورود

View Full Version : اعلان تابع



barnamenevis300
پنج شنبه 01 تیر 1391, 10:46 صبح
من سواد کلی ایی تو برنامه نویسی دارم و بطور جزئی برنامه نویسی نمیکنم...
یه سوالی برام هست اینه که وقتی یه متغییر یا تابعی (اعلان ) میشه مثلا
int x

یا

int main()
مثلا قبلا با int میگیم که نوع این متغییر یا تابع صحیح هست. حالا سوال من اینجاست در اعلان هایی به این شکل زیر:
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int
nCmdShow )

که علاوه بر int ما winapi رو هم داریم این به چه معناست؟

آخر سر تابع از نوع صحیح هست یا از نوع winapi؟
و در آخر میشه لطفا در مورد نوع های عجیبی مثلا همین winapi توضیح بدید؟
پیشاپیش تشکر.

mehdi.mousavi
یک شنبه 04 تیر 1391, 22:42 عصر
سلام.
مقدار بازگشتی تابع مورد نظر شما، int هستش. WinAPI یه define هستش، که بسته به شرایط، در نهایت با یک Calling Convention عوض میشه (stdcall، pascal، cdecl و ...). اینها قراردادهایی هستن که نحوه ارسال پارامترهای ورودی به تابع و نحوه چگونگی برگردوندن مقدار بازگشتی تابع به Caller رو تعیین می کنن. برای آشنایی با هر یک از این Calling Convention ها، لطفا به MSDN رجوع کنید. این مقاله (http://www.agner.org/optimize/calling_conventions.pdf) نیز اطلاعات خوبی در این مورد بهتون میده.

موفق باشید.