PDA

View Full Version : calling conventions



hi.alir
پنج شنبه 19 خرداد 1390, 13:44 عصر
من این ور اون ور یه مقدار در مورد calling conventions خوندم ولی چند تا سوال برام باقی موند که جواب درست حسابی براشون پیدا نکردم.
چه وقت باید از چه calling convention ای استفاده کرد؟
مثلا وقتی می خوایم یه DLL درست کنیم تو ونیدوز و سایر پلتفرم ها چه calling convention ای باید استفاده کرد؟ در صورت عدم استفاده چه بلایی سر برنامه میاد؟

r00tkit
پنج شنبه 19 خرداد 1390, 20:53 عصر
چه وقت باید از چه calling convention ای استفاده کرد؟
همیشه استفاده می شه چه تو بخوای و چه نخوای

مثلا وقتی می خوایم یه DLL درست کنیم تو ونیدوز و سایر پلتفرم ها چه calling convention ای باید استفاده کرد؟ در صورت عدم استفاده چه بلایی سر برنامه میاد؟

سایر پلتفذم ها ! کدوم ؟ در هر صورت اگه تابعی رو استفاده قرار بدی و calling convention درستی رو استفاده نکنی stack خراب می شه و تابع اجرا نمشه و برنامه خارج می شه

یه چیزی تو این مایه ها :
http://netcode.ru/dotnet/cdeclcallback/cdeclcallback.jpg

hi.alir
پنج شنبه 19 خرداد 1390, 21:48 عصر
همیشه استفاده می شه چه تو بخوای و چه نخوای
بله می دونم همیشه استفاده میشه. منظورم اینه که تو یک تابع از کدومش باید استفاده بشه و چرا؟ از کجا باید بفهمم که از کدوم نوع استفاده کنم؟

r00tkit
پنج شنبه 19 خرداد 1390, 22:08 عصر
تو از stdcall استفاده کن چون :

stdcall is the standard calling convention for the Microsoft Win32 (http://en.wikipedia.org/wiki/Win32) API (http://en.wikipedia.org/wiki/API) and for Open Watcom C++.
ولی در کل ببین هر کدوم کجا استفاده می شه همون جا استفاده کن