Pointer swizzling
கணினி அறிவியலில், சுட்டிக்காட்டி சுழற்சி என்பது பெயர் அல்லது நிலையின் அடிப்படையில் குறிப்புகளை நேரடி சுட்டிக்காட்டி குறிப்புகளாக (நினைவக முகவரிகள்) மாற்றுவதாகும். இது பொதுவாக இயக்கக்கூடிய கோப்பு அல்லது சுட்டிக்காட்டி அடிப்படையிலான தரவு அமைப்பு போன்ற வட்டு கோப்பிலிருந்து இடமாற்றம் செய்யக்கூடிய பொருளை தளர்த்தும் போது அல்லது ஏற்றும் போது செய்யப்படுகிறது. நினைவக சுட்டிகளை நிலை-சுயாதீன சின்னங்கள் அல்லது நிலைகளுடன் மாற்றும் தலைகீழ் செயல்பாடு, சில நேரங்களில் அசைக்க முடியாதது என்று குறிப்பிடப்படுகிறது, மேலும் இது வரிசைப்படுத்தலின் போது (சேமிப்பு) செய்யப்படுகிறது. எடுத்துக்காட்டு இது போன்ற கூறுகளைப் பயன்படுத்தி இணைக்கப்பட்ட பட்டியல் தரவு கட்டமைப்பை உருவாக்குவது எளிதுஃ கட்டமைப்பு முனை {int தரவு; கட்டமைப்பு முனை * அடுத்தது;} ஆனால் பட்டியலை ஒரு கோப்பில் சேமித்து பின்னர் அதை மீண்டும் ஏற்றுவது (பெரும்பாலான இயக்க முறைமைகளில்) ஒவ்வொரு இணைப்பையும் உடைத்து பட்டியலை பயனற்றதாக மாற்றும், ஏனெனில் முனைகள் கிட்டத்தட்ட ஒரே நினைவக இருப்பிடங்களில் ஏற்றப்படாது. பட்டியலை பயனுள்ளதாகச் சேமிப்பதற்கும் மீட்டெடுப்பதற்கும் ஒரு வழி என்னவென்றால், ஒவ்வொரு முனையிலும் ஒரு தனித்துவமான ஐடி எண்ணை ஒதுக்கி, பின்னர் சுட்டிகளை அடுத்த முனையின் ஐடி எண்ணைக் குறிக்கும் புலமாக மாற்றுவதன் மூலம் அவற்றை அவிழ்த்து விடுவதுஃ கட்டமைப்பு முனை சேமிக்கப்பட்டது {int தரவு; int ஐடி _ எண்; int ஐடி _ எண் _ இன் _ அடுத்த முனை;}; இது போன்ற பதிவுகளை எந்த வரிசையிலும் ஒரு கோப்பில் சேமிக்கலாம் மற்றும் பட்டியலை உடைக்காமல் மீண்டும் ஏற்றலாம். மற்ற விருப்பங்களில் அடுத்த முனையின் கோப்பு ஆஃப்செட்டைச் சேமிப்பது அல்லது சேமிக்கப்பட்ட பதிவுகளின் வரிசையில் அதன் நிலையை குறிக்கும் எண் அல்லது கோப்பின் வரிசையில் முனைகளைச் சேமிப்பது ஆகியவை அடங்கும். அத்தகைய பட்டியலை ஏற்றிய பிறகு, அதன் எண்ணின் அடிப்படையில் ஒரு முனையைக் கண்டுபிடிப்பது சிக்கலானது மற்றும் திறமையற்றது (தொடர் தேடல்). அசல் "அடுத்த" சுட்டிகளுடன் பட்டியலைக் கடந்து செல்வது மிகவும் வேகமாக இருந்தது. பட்டியலை அதன் அசல் வடிவத்திற்கு மாற்ற, அல்லது சுட்டிகளை சுழற்ற, ஒவ்வொரு முனையின் முகவரியையும் கண்டுபிடித்து, ஐடி _ நம்பர் _ ஆஃப் _ நெக்ஸ்ட் _ நோட் புலங்களை வலது முனையில் நேரடி சுட்டிகளாக மாற்ற வேண்டும். ஒரு சுட்டியை அவிழ்க்கக்கூடிய சாத்தியமான வரம்பற்ற படிவங்கள் உள்ளன, ஆனால் மிகவும் பிரபலமான சிலவற்றில் பின்வருவன அடங்கும்ஃ கோப்பில் உள்ள சுட்டிக்காட்டப்பட்ட பொருளின் ஆஃப்செட் சில பதிவுகளின் வரிசையில் சுட்டிக்காட்டப்பட்ட பொருளின் குறியீடு ஒரு நபரின் சமூக பாதுகாப்பு எண் போன்ற சுட்டிக்காட்டப்பட்ட பொருளைக் கொண்ட ஒரு தனித்துவமான அடையாளங்காட்டி; தரவுத்தளங்களில், அனைத்து சுட்டிகளும் இந்த முறையில் அவிழ்க்கப்படுகின்றன (வெளிநாட்டு விசையைப் பார்க்கவும்). பொதுவான வழக்கில் ஸ்விஸ்லிங் ஸ்விஸ்லிங் முறைகள் சிக்கலானவை. சுட்டிகளின் குறிப்பு வரைபடம் தன்னிச்சையான எண்ணிக்கையிலான சுழற்சிகளைக் கொண்டிருக்கலாம்; இது பழைய மாற்றப்படாத மதிப்புகளிலிருந்து புதிய முகவரிகளுக்கு ஒரு வரைபடத்தை பராமரிப்பதை சிக்கலாக்குகிறது. இணை வரிசைகள் வரைபடத்தை பராமரிக்க பயனுள்ளதாக இருக்கும், அதே நேரத்தில் அகலம்-முதல் தேடல் போன்ற வழிமுறைகள் வரைபடத்தை கடந்து செல்ல உதவுகின்றன, இருப்பினும் இவை இரண்டிற்கும் கூடுதல் சேமிப்பு தேவைப்படுகிறது. பல்வேறு வரிசைப்படுத்தல் நூலகங்கள் பொதுவான சுழல் அமைப்புகளை வழங்குகின்றன. இருப்பினும், பல சந்தர்ப்பங்களில், ஒரு மரம் அல்லது குறிப்புகளின் பட்டியல் அமைப்பு போன்ற அனுமானங்களை எளிமைப்படுத்துவதன் மூலம் ஸ்விஸ்லிங் செய்யப்படலாம். பல்வேறு வகையான ஸ்விஸ்லிங் பின்வருமாறுஃ தானியங்கி ஸ்விஸ்லிங் ஆன்-டிமாண்ட் ஸ்விஸ்லிங் சாத்தியமான பாதுகாப்பு பலவீனங்கள் பாதுகாப்பிற்காக, அன்ஸ்விஸ்லிங் மற்றும் ஸ்விஸ்லிங் ஆகியவை மிகுந்த எச்சரிக்கையுடன் செயல்படுத்தப்பட வேண்டும். குறிப்பாக, ஒரு தாக்குபவர் சிறப்பாக வடிவமைக்கப்பட்ட கோப்பை வழங்குவது எதிர்பார்க்கப்பட்ட மற்றும் சரியான வரம்புகளுக்கு வெளியே உள்ள முகவரிகளை அணுக அனுமதிக்கலாம். பலவீனமான நினைவக பாதுகாப்பு கொண்ட அமைப்புகளில் இது ரகசிய தரவை வெளிப்படுத்தவோ அல்லது குறியீட்டை மாற்றியமைக்கவோ வழிவகுக்கும். கணினி தரவை நிறைவேற்றுவதற்கு எதிரான பாதுகாப்புகளை செயல்படுத்தவில்லை என்றால், பல்வேறு வகையான தீம்பொருள்களை நிறுவுவதன் மூலம் கணினி கடுமையாக சமரசம் செய்யப்படலாம். பாதுகாப்பு முறைகள் ஒரு பயன்பாட்டிற்கு தரவை வெளியிடுவதற்கு முன் சரிபார்ப்புகளை உள்ளடக்குகின்றனஃ ஒவ்வொரு ஆஃப்செட்டும் தரவு படித்த வரம்பிற்குள் உள்ளது. குறியீடுகளின் அட்டவணை மற்றும் சுட்டிக்காட்டப்பட்ட பதிவுகள் இதேபோல் கட்டுப்படுத்தப்படுகின்றன. அந்த அடையாளங்காட்டிகள் தனித்துவமானவை மற்றும், உணர்திறன் இருந்தால், குறியாக்கம் செய்யப்பட்டவை. அனைத்து மாறி-நீளம் தரவுகளும் உண்மையான ஒதுக்கீட்டை மீறாத நீளங்களுக்கு கட்டுப்படுத்தப்படுகின்றன. அந்த ஒதுக்கீடுகள் நியாயமான அளவில் உள்ளன. தரவு வாசிப்புடன் ஏற்றப்படாத ஒதுக்கீடுகள் அழிக்கப்படுகின்றன, அல்லது சில குறிப்பிட்ட வடிவத்துடன் ஏற்றப்படுகின்றன. மேலும் பார்க்கவும் இடமாற்றம், சுட்டிக்காட்டி மாற்றத்தின் ஆர்வமுள்ள வடிவம் குறிப்புகள் மேலும் வாசிப்பு (49 பக்கங்கள்) நினைவக மேலாண்மை