MSVC ما يعادل "__builtin_return_address"
-
22-08-2019 - |
سؤال
ومع MSVC، هناك ما يعادل دول مجلس التعاون الخليجي "__builtin_return_address"؟
وأنا أبحث للعثور على عنوان وظيفة الدعوة، 1 مستوى عميق.
المحلول
ومن MSDN:
<اقتباس فقرة>ويوفر جوهري _ReturnAddress عنوان التعليم في استدعاء الدالة التي سيتم تنفيذها بعد عودة التحكم إلى المتصل
اقتباس فقرة>لاحظ أنه في بعض المنابر، يمكن أن تكون النتيجة مضللة بسبب ذيل قابلة للطي - مترجم قد يكون لديك وظيفة الداخلية عودة مستويات 2 العميقة. يمكن أن يحدث هذا عادة لرمز مثل هذا:
int DoSomething()
{
return DoSomethingSpecial();
}
والمترجم يمكن أن تولد التعليمات البرمجية بحيث يعود DoSomethingSpecial مباشرة إلى الطالب من تنفيذ DoSomething.
وأيضا، على عنوان المرسل غير جدير بالثقة، بما يكفي لجعل القرارات الأمنية، انظر> وأ href = "http://blogs.msdn.com/oldnewthing/archive/2004/01/01/47042.aspx" يختلط = "noreferrer"> هنا .
لا تنتمي إلى StackOverflow