ورود

View Full Version : سوال: پیدا کردن نام یک متغیر



یوسف زالی
چهارشنبه 03 مهر 1392, 12:35 عصر
سلام.
فرض کنید تابعی داریم به شکل زیر:


Procedure P(X: integer)
.
.

و فراخوانی های زیر رو هم داریم:


P(a)
P(test)
P(100)


راهی وجود داره که در P بفهمیم اصل اسم متغیر چی بوده؟ :لبخند:
فنون کامپایلری داره آیا؟ :متفکر:

Felony
چهارشنبه 03 مهر 1392, 13:17 عصر
فنون کامپایلری داره آیا؟
نه ، وقتی میگین کامپایلر یعنی هیچ چیزی از کدهای سطح بالای ما حالیش نیست ، کد کامپایل شده اسم و ... حالیش نیست ، کد کامپایل شده Offset و Address و ... میفهمه .

اون RTTI که میبینید گاها یکسری از این قبیل کارها میکنه در اصل یک Metadata به پروژه اضافه میکنه که به Run Time Type Information شناخته میشه و طراحان کامپایلرهای نیتیو گاها برای انجام یک سری کارهای ژانگولر :) به فایل نهایی تولید شده اضافه میکنن ، این اطلاعات اقلب موارد خیلی مهم و کاربردی هستند ، نه نام متغییر و این قبیل مسائل .

در آخر شما به نام یک متغییر بعد از کامپایل دسترسی نخواهی داشت ، RTTI دلفی هم همچین Metadata یی تولید نمیکرده ، نمیکنه و به نظرم در آینده هم نخواهد کرد .

موفق باشید .