سؤال

ومع MSVC، هناك ما يعادل دول مجلس التعاون الخليجي "__builtin_return_address"؟

وأنا أبحث للعثور على عنوان وظيفة الدعوة، 1 مستوى عميق.

هل كانت مفيدة؟

المحلول

__ReturnAddress

ومن MSDN:

<اقتباس فقرة>   

ويوفر جوهري _ReturnAddress   عنوان التعليم في   استدعاء الدالة التي سيتم تنفيذها   بعد عودة التحكم إلى المتصل

لاحظ أنه في بعض المنابر، يمكن أن تكون النتيجة مضللة بسبب ذيل قابلة للطي - مترجم قد يكون لديك وظيفة الداخلية عودة مستويات 2 العميقة. يمكن أن يحدث هذا عادة لرمز مثل هذا:

int DoSomething()
{
   return DoSomethingSpecial();
}

والمترجم يمكن أن تولد التعليمات البرمجية بحيث يعود DoSomethingSpecial مباشرة إلى الطالب من تنفيذ DoSomething.

وأيضا، على عنوان المرسل غير جدير بالثقة، بما يكفي لجعل القرارات الأمنية، انظر> وأ href = "http://blogs.msdn.com/oldnewthing/archive/2004/01/01/47042.aspx" يختلط = "noreferrer"> هنا .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top