Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന സ്റ്റാലിൻ കമാൻഡ് ഇതാണ്.
പട്ടിക:
NAME
സ്റ്റാലിൻ - സ്കീമിനായുള്ള ആഗോള ഒപ്റ്റിമൈസിംഗ് കംപൈലർ
സിനോപ്സിസ്
സ്റ്റാലിൻ [-പതിപ്പ്]
[-I ഉൾപ്പെടുത്തുക-ഡയറക്ടറി]*
[[-s|-x|-q|-t]]
[[എല്ലാ ചിഹ്നങ്ങളെയും ബാഹ്യമായി പരിഗണിക്കുക|
എല്ലാ ചിഹ്നങ്ങളെയും ബാഹ്യമായി കണക്കാക്കരുത്]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രിംഗ്-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-do-not-index-allocated-string-types-by-expression]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-സ്ലോട്ട്-ടൈപ്പുകൾ|
-ഡോ-നോട്ട്-ഇൻഡക്സ്-സ്ഥിരമായ ഘടന-തരം-ബൈ-സ്ലോട്ട്-തരം]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-do-not-index-constant-structure-types-by-expression]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-സ്ലോട്ട്-ടൈപ്പുകൾ|
-do-not-index-allocated-structure-types-by-slot-types]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-do-not-index-allocated-structure-types-by-expression]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്|
-do-not-index-constant-headed-vector-types-by-element-type]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-ഡൂ-നോട്ട്-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പ്-ബൈ-എക്സ്പ്രഷൻ]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്|
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പ്-ബൈ-എക്സ്പ്രഷൻ]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്|
-do-not-index-constant-nonheaded-vector-types-by-element-type]]
[[-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-ഡോ-നോട്ട്-ഇൻഡക്സ്-സ്ഥിരമായ-നോൺഹെഡഡ്-വെക്റ്റർ-തരം-പ്രകടനം]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്|
-do-not-index-allocated-nonheaded-vector-types-by-element-type]]
[[-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ|
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ]]
[[-നോ-ക്ലോൺ-സൈസ്-ലിമിറ്റ്|
-ക്ലോൺ-വലിപ്പം-പരിധി എക്സ്പ്രഷനുകളുടെ എണ്ണം]]
[-വിഭജനം-പോലും-ഇല്ലെങ്കിൽ-വിശാലമാക്കൽ]
[[-പൂർണ്ണമായി-പരിവർത്തനം-സിപിഎസ്|
-ഒഴിവാക്കൽ-തുടർച്ചകൾ]]
[-du]
[-ഒബ്] [-ഓം] [-ഒന്ന്] [-അഥവാ] [-ഒട്ടി]
[-ഡി 0] [-ഡി 1] [-ഡി 2] [-ഡി 3] [-ഡി 4] [-ഡി 5] [-ഡി 6] [-ഡി 7]
[-ക്ലോഷർ-കൺവേർഷൻ-സ്റ്റാറ്റിസ്റ്റിക്സ്]
[-ഡിസി] [-ഡിസി] [-dH] [-dg] [- dh]
[-d]
[- വാസ്തുവിദ്യ പേര്]
[[-അടിസ്ഥാനം|
- പരമ്പരാഗത|
- ഭാരം കുറഞ്ഞ]]
[[-ഉടൻ-പരന്ന|
- പരോക്ഷ-പരന്ന|
-ഉടൻ-പ്രദർശനം|
-പരോക്ഷ-പ്രദർശനം|
-ലിങ്ക്ഡ്]]
[[-അലൈൻ-സ്ട്രിംഗുകൾ|-do-not-align-strings]]
[-ഫ്രോം] [-df] [-dG] [-ദു] [-dI] [-dp] [-ഡി.പി]
[-ദെസ്] [-dS] [-ടിഎംകെ]
[-നോ-ടെയിൽ-കോൾ-ഒപ്റ്റിമൈസേഷൻ]
[-db] [-c] [-k]
[-cc സി-കംപൈലർ]
[-കോപ്റ്റ് സി-കംപൈലർ-ഓപ്ഷൻ]*
[പാതയുടെ പേര്]
സ്കീം സോഴ്സ് ഫയൽ കംപൈൽ ചെയ്യുന്നു പാതയുടെ പേര്.sc ആദ്യം ഒരു C ഫയലിലേക്ക് പാതയുടെ പേര്.സി, തുടർന്ന് അകത്ത്
ഒരു എക്സിക്യൂട്ടബിൾ ചിത്രം പാതയുടെ പേര്. ഒരു ഡാറ്റാബേസ് ഫയലും നിർമ്മിക്കുന്നു പാതയുടെ പേര്.db. ദി പാതയുടെ പേര്
അല്ലാതെ വാദം ആവശ്യമാണ് -പതിപ്പ് വ്യക്തമാക്കിയിട്ടുണ്ട്.
വിവരണം
സ്കീമിന്റെ വളരെ കാര്യക്ഷമമായ കമ്പൈലറാണ് സ്റ്റാലിൻ. എ ആയി ഉപയോഗിക്കാനല്ല ഇത് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്
ഡെവലപ്മെന്റ് ടൂൾ, പകരം ഒന്നുകിൽ കാര്യക്ഷമമായ എക്സിക്യൂട്ടബിൾ ഇമേജുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഒരു ഉപാധി എന്ന നിലയിലാണ്
ആപ്ലിക്കേഷൻ ഡെലിവറി അല്ലെങ്കിൽ പ്രൊഡക്ഷൻ റിസർച്ച് റൺ. പരമ്പരാഗത സ്കീമിൽ നിന്ന് വ്യത്യസ്തമായി
നടപ്പാക്കലുകൾ, സ്റ്റാലിൻ ഒരു ബാച്ച്-മോഡ് കമ്പൈലറാണ്. ഇന്ററാക്ടീവ് റീഡ്-ഇവൽ-പ്രിന്റ് ഒന്നുമില്ല
ലൂപ്പ്. സ്റ്റാലിൻ ഒരൊറ്റ സ്കീം സോഴ്സ് ഫയൽ ഒരു എക്സിക്യൂട്ടബിൾ ഇമേജിലേക്ക് സമാഹരിക്കുന്നു (പരോക്ഷമായി
സി വഴി). ആ ഇമേജ് പ്രവർത്തിപ്പിക്കുന്നതിന് സ്കീം സോഴ്സ് ഫയൽ ലോഡ് ചെയ്യുന്നതിന് തുല്യമായ സെമാന്റിക്സ് ഉണ്ട്
ഒരു കന്യക സ്കീം വ്യാഖ്യാതാവായി മാറുകയും തുടർന്ന് അതിന്റെ നിർവ്വഹണം അവസാനിപ്പിക്കുകയും ചെയ്യുന്നു. പ്രധാന പരിമിതി
പുതിയ എക്സ്പ്രഷനുകളോ നടപടിക്രമ നിർവചനങ്ങളോ എയിലേക്ക് ലോഡുചെയ്യുന്നതിനോ സമതുലിതമാക്കുന്നതിനോ സാധ്യമല്ല എന്നതാണ്
സമാഹരിച്ചതിനുശേഷം പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നു. ഈ പരിമിതിക്ക് പകരമായി, സ്റ്റാലിൻ ഗണ്യമായി ചെയ്യുന്നു
ഈ അടഞ്ഞ ലോക അനുമാനത്തിന് കീഴിലുള്ള ഉറവിട പ്രോഗ്രാമിന്റെ ആഗോള കംപൈൽ-ടൈം വിശകലനം കൂടാതെ
ചെറുതും ഒറ്റപ്പെട്ടതും വേഗതയേറിയതുമായ എക്സിക്യൂട്ടബിൾ ഇമേജുകൾ നിർമ്മിക്കുന്നു.
കാര്യക്ഷമമായ കോഡ് സൃഷ്ടിക്കുന്നതിനുള്ള നിരവധി തന്ത്രങ്ങൾ സ്റ്റാലിൻ ഉൾക്കൊള്ളുന്നു. അവരിൽ, സ്റ്റാലിൻ
ആവർത്തന യൂണിയനെ പിന്തുണയ്ക്കുന്ന സോഫ്റ്റ് ടൈപ്പ് സിസ്റ്റം ഉപയോഗിച്ച് ഗ്ലോബൽ സ്റ്റാറ്റിക് തരം വിശകലനം ചെയ്യുന്നു
തരങ്ങൾ. ഓരോ സോഴ്സ് കോഡിനും ഇടുങ്ങിയതോ മോണോമോർഫിക് തരമോ സ്റ്റാലിന് നിർണ്ണയിക്കാനാകും
തരം പ്രഖ്യാപനങ്ങളില്ലാതെ അനിയന്ത്രിതമായ സ്കീം പ്രോഗ്രാമുകളിലെ എക്സ്പ്രഷൻ. ഇത് സ്റ്റാലിനെ അനുവദിക്കുന്നു
റൺ-ടൈം തരം പരിശോധനയും അയക്കലും കുറയ്ക്കുക, അല്ലെങ്കിൽ പലപ്പോഴും ഇല്ലാതാക്കുക. സ്റ്റാലിനും കുറവാണ്-
ഓരോ എക്സ്പ്രഷൻ അടിസ്ഥാനത്തിൽ ലെവൽ പ്രാതിനിധ്യ തിരഞ്ഞെടുപ്പ്. ഇത് അൺബോക്സഡ് ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു
എല്ലാ മോണോമോർഫിക് തരങ്ങൾക്കുമുള്ള അടിസ്ഥാന മെഷീൻ ഡാറ്റ പ്രാതിനിധ്യം വളരെ ഉയർന്നതാണ്
പ്രകടന സംഖ്യാ കോഡ്. സ്റ്റാലിൻ എല്ലാവർക്കുമായി ആഗോള സ്റ്റാറ്റിക് ലൈഫ്-ടൈം വിശകലനം നടത്തുന്നു
അനുവദിച്ച ഡാറ്റ. ഇത് വളരെ താൽക്കാലികമായി അനുവദിച്ച സംഭരണം കൂടാതെ വീണ്ടെടുക്കാൻ അനുവദിക്കുന്നു
മാലിന്ന്യ ശേഖരണം. അവസാനമായി, അടച്ചുപൂട്ടലുകൾ സമാഹരിക്കുന്നതിന് സ്റ്റാലിന് വളരെ കാര്യക്ഷമമായ തന്ത്രങ്ങളുണ്ട്.
ഈ കംപൈലേഷൻ ടെക്നിക്കുകൾ ഒരുമിച്ച് കാര്യക്ഷമമായ ഒബ്ജക്റ്റ് കോഡ് നൽകുന്നു.
കൂടാതെ, സ്റ്റാലിൻ സൃഷ്ടിച്ച എക്സിക്യൂട്ടബിൾ ഇമേജുകളിൽ (ഉപയോക്താവ് നിർവചിച്ചതോ അല്ലെങ്കിൽ
ലൈബ്രറി) വിളിക്കപ്പെടാത്ത നടപടിക്രമങ്ങൾ, ഉപയോഗിക്കാത്ത വേരിയബിളുകളും പാരാമീറ്ററുകളും, കൂടാതെ
എത്തിച്ചേരാനാകാത്ത ഭാവങ്ങൾ. ഇത് ഒരു പ്രോഗ്രാമിംഗ് ശൈലി പ്രോത്സാഹിപ്പിക്കുന്നു
എക്സിക്യൂട്ടബിൾ ഇമേജുകൾ ഭയമില്ലാതെ വളരെ പൊതുവായ ലൈബ്രറി നടപടിക്രമങ്ങൾ സൃഷ്ടിക്കുകയും ഉപയോഗിക്കുകയും ചെയ്യുന്നു
കോഡ് ബ്ലോട്ടിൽ നിന്ന് കഷ്ടപ്പെടുന്നു.
ഓപ്ഷനുകൾ
-പതിപ്പ്
സ്റ്റാലിന്റെ പതിപ്പ് പ്രിന്റ് ചെയ്ത് ഉടൻ പുറത്തുകടക്കുന്നു.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ പ്രീപ്രോസസ്സിംഗ് നിയന്ത്രിക്കുന്നു:
-I സ്കീം ഉൾപ്പെടുന്ന ഫയലുകൾക്കായി തിരയാനുള്ള ഡയറക്ടറികൾ വ്യക്തമാക്കുന്നു. ഈ ഓപ്ഷൻ ആകാം
ഒന്നിലധികം ഡയറക്ടറികൾ വ്യക്തമാക്കാൻ ആവർത്തിച്ചു. ഉൾപ്പെടുത്തിയ ഫയലുകൾക്കായി സ്റ്റാലിൻ ആദ്യം തിരയുന്നു
നിലവിലെ ഡയറക്ടറിയിൽ, കമാൻഡിൽ വ്യക്തമാക്കിയ ഓരോ ഡയറക്ടറികളും
ലൈൻ, ഒടുവിൽ ഡിഫോൾട്ട് ഇൻസ്റ്റലേഷനിൽ ഡയറക്ടറി ഉൾപ്പെടുന്നു.
-s സ്കീം->സി കോംപാറ്റിബിലിറ്റി ലൈബ്രറിയിൽ നിന്നുള്ള മാക്രോകൾ ഉൾപ്പെടുന്നു. നിലവിൽ, ഇത്
WHEN, UNLESS വാക്യഘടന നിർവചിക്കുന്നു.
-x Xlib, GL ലൈബ്രറിയിൽ നിന്നുള്ള മാക്രോകൾ ഉൾപ്പെടുന്നു. നിലവിൽ, ഇത് നിർവചിക്കുന്നു
ഫോറിൻ-ഫംഗ്ഷനും ഫോറിൻ-ഡിഫൈൻ വാക്യഘടനയും. ഇത് സൂചിപ്പിക്കുന്നു -s.
-q QobiScheme ലൈബ്രറിയിൽ നിന്നുള്ള മാക്രോകൾ ഉൾപ്പെടുന്നു. നിലവിൽ, ഇത് നിർവചിക്കുന്നു
മറ്റ് കാര്യങ്ങൾക്കൊപ്പം define-Structure വാക്യഘടന. ഇത് സൂചിപ്പിക്കുന്നു -x.
-t സ്റ്റാലിൻ സ്വയം സമാഹരിക്കാൻ ആവശ്യമായ മാക്രോകൾ ഉൾപ്പെടുന്നു. ഇത് സൂചിപ്പിക്കുന്നു -q.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഫ്ലോ വിശകലനത്തിന്റെ കൃത്യത നിയന്ത്രിക്കുന്നു:
എല്ലാ ചിഹ്നങ്ങളെയും ബാഹ്യമായി പരിഗണിക്കുക
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്തമായ ബാഹ്യ ചിഹ്നം സൃഷ്ടിക്കുക
എല്ലാ ചിഹ്നങ്ങൾക്കിടയിലും.
എല്ലാ ചിഹ്നങ്ങളെയും ബാഹ്യമായി കണക്കാക്കരുത്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, ചിഹ്നങ്ങൾ അടങ്ങിയ സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ,
ഓരോ വ്യത്യസ്ത ചിഹ്നത്തിനും സ്ഥിരമായ ഒരു പുതിയ അമൂർത്തമായ ആന്തരിക ചിഹ്നം സൃഷ്ടിക്കുക
പ്രോഗ്രാം. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രിംഗ്-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
സ്ട്രിംഗുകൾ, അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അമൂർത്ത സ്ട്രിംഗ് സൃഷ്ടിക്കുക. ഇതാണ്
സ്ഥിരസ്ഥിതിയായി.
-do-not-index-allocated-string-types-by-expression
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
സ്ട്രിംഗുകൾ, അത്തരത്തിലുള്ള എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത സ്ട്രിംഗ് സൃഷ്ടിക്കുക
ഭാവങ്ങൾ.
മൂലക തരത്തിന് മുകളിലുള്ള ഓപ്ഷനുകളുടെ പതിപ്പുകളൊന്നും ഇല്ല എന്നത് ശ്രദ്ധിക്കുക
ഒരു സ്ട്രിംഗിന്റെ തരം എപ്പോഴും ചാർ ആണ്. കൂടാതെ, മുകളിലുള്ള ഓപ്ഷനുകളുടെ പതിപ്പുകളൊന്നുമില്ല
സ്ഥിരമായ പദപ്രയോഗങ്ങൾക്ക്, കാരണം എല്ലായ്പ്പോഴും ഒരൊറ്റ അമൂർത്തമായ സ്ഥിരമായ സ്ട്രിംഗ് മാത്രമേ ഉള്ളൂ.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-സ്ലോട്ട്-ടൈപ്പുകൾ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, ഘടനകൾ ഉൾക്കൊള്ളുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ,
അതിനുള്ള സാധ്യതയുള്ള സ്ലോട്ട് തരങ്ങളുടെ ഓരോ സെറ്റിനും ഒരു പുതിയ അമൂർത്ത ഘടന സൃഷ്ടിക്കുക
ഘടന
-ഡോ-നോട്ട്-ഇൻഡക്സ്-സ്ഥിരമായ ഘടന-തരം-ബൈ-സ്ലോട്ട്-തരം
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, ഘടനകൾ ഉൾക്കൊള്ളുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ,
എല്ലാ സാധ്യതകൾക്കും ഇടയിൽ പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത ഘടന സൃഷ്ടിക്കുക
ആ ഘടനയ്ക്കുള്ള സ്ലോട്ട് തരങ്ങൾ. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, ഘടനകൾ ഉൾക്കൊള്ളുന്ന സ്ഥിരമായ എക്സ്പ്രഷൻ പ്രോസസ്സ് ചെയ്യുമ്പോൾ,
അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അമൂർത്ത ഘടന സൃഷ്ടിക്കുക. ഇതാണ് സ്ഥിരസ്ഥിതി.
-do-not-index-constant-structure-types-by-expression
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, ഘടനകൾ ഉൾക്കൊള്ളുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ,
അത്തരം എല്ലാ പദപ്രയോഗങ്ങൾക്കിടയിലും പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത ഘടന സൃഷ്ടിക്കുക.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-സ്ലോട്ട്-ടൈപ്പുകൾ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഘടനകൾ, സാധ്യതയുള്ള സ്ലോട്ട് തരങ്ങളുടെ ഓരോ സെറ്റിനും ഒരു പുതിയ അമൂർത്ത ഘടന സൃഷ്ടിക്കുക
ആ ഘടനയ്ക്കായി.
-do-not-index-allocated-structure-types-by-slot-types
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഘടനകൾ, എല്ലാ സെറ്റുകൾക്കിടയിലും പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത ഘടന സൃഷ്ടിക്കുന്നു
ആ ഘടനയ്ക്കുള്ള സാധ്യതയുള്ള സ്ലോട്ട് തരങ്ങൾ. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-സ്ട്രക്ചർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഘടനകൾ, അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അമൂർത്ത ഘടന സൃഷ്ടിക്കുന്നു. ഇതാണ്
സ്ഥിരസ്ഥിതി.
-do-not-index-allocated-structure-types-by-expression
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഘടനകൾ, അത്തരത്തിലുള്ള എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത ഘടന സൃഷ്ടിക്കുന്നു
ഭാവങ്ങൾ.
നിലവിൽ, സ്ഥിരമായി ദൃശ്യമാകുന്ന ഒരേയൊരു ഘടന ജോഡികളാണെന്ന കാര്യം ശ്രദ്ധിക്കുക
ഭാവങ്ങൾ. മറ്റുള്ളവരെ പിന്തുണയ്ക്കാൻ വായനക്കാരനെ വിപുലപ്പെടുത്തിയാൽ, ഭാവിയിൽ ഇത് മാറിയേക്കാം
ഘടനകളുടെ തരം.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, തലയിൽ അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, ഓരോ സാധ്യതയുള്ള മൂലക തരത്തിനും ഒരു പുതിയ അമൂർത്ത തല വെക്റ്റർ സൃഷ്ടിക്കുക
ആ തല വെക്റ്റർ.
-do-not-index-constant-headed-vector-types-by-element-type
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, തലയിൽ അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത തല വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ ഹെഡ്ഡഡ് വെക്റ്ററിനുള്ള സാധ്യതയുള്ള മൂലക തരങ്ങൾ. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, തലയിൽ അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അമൂർത്ത തല വെക്റ്റർ സൃഷ്ടിക്കുക. ഇതാണ്
സ്ഥിരസ്ഥിതി.
-ഡൂ-നോട്ട്-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പ്-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, തലയിൽ അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ പദപ്രയോഗങ്ങൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, അത്തരത്തിലുള്ളവയ്ക്കൊപ്പം പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത തലയുള്ള വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ഭാവങ്ങൾ.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഹെഡ്ഡ് വെക്ടറുകൾ, ഓരോ പൊട്ടൻഷ്യൽ എലമെന്റിനും ഒരു പുതിയ അബ്സ്ട്രാക്റ്റ് ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ ഹെഡ്ഡഡ് വെക്ടറിനായി ടൈപ്പ് ചെയ്യുക.
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഹെഡഡ് വെക്ടറുകൾ, എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത തല വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ ഹെഡ്ഡഡ് വെക്റ്ററിനുള്ള സാധ്യതയുള്ള മൂലക തരങ്ങൾ. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഹെഡ്ഡ് വെക്ടറുകൾ, അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അബ്സ്ട്രാക്റ്റ് ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു.
ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പ്-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
ഹെഡഡ് വെക്ടറുകൾ, എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത തല വെക്റ്റർ സൃഷ്ടിക്കുന്നു
അത്തരം പദപ്രയോഗങ്ങൾ.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, നോൺഹെഡഡ് അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, ഓരോ പൊട്ടൻഷ്യൽ എലമെന്റ് തരത്തിനും ഒരു പുതിയ അബ്സ്ട്രാക്റ്റ് നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ നോൺ-ഹെഡഡ് വെക്ടറിനായി.
-do-not-index-constant-nonheaded-vector-types-by-element-type
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, നോൺഹെഡഡ് അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, എല്ലാവർക്കുമായി പങ്കിടുന്ന ഒരൊറ്റ അബ്സ്ട്രാക്റ്റ് നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ നോൺഹെഡഡ് വെക്റ്ററിനുള്ള സാധ്യതയുള്ള മൂലക തരങ്ങൾ. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-കോൺസ്റ്റന്റ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, നോൺഹെഡഡ് അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, അത്തരം ഓരോ പദപ്രയോഗത്തിനും ഒരു പുതിയ അബ്സ്ട്രാക്റ്റ് നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു. ഈ
സ്ഥിരസ്ഥിതിയാണ്.
-ഡോ-നോട്ട്-ഇൻഡക്സ്-സ്ഥിരമായ-നോൺഹെഡഡ്-വെക്റ്റർ-തരം-പ്രകടനം
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, നോൺഹെഡഡ് അടങ്ങിയിരിക്കുന്ന സ്ഥിരമായ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ
വെക്ടറുകൾ, അത്തരത്തിലുള്ളവയ്ക്കൊപ്പം പങ്കിടുന്ന ഒരൊറ്റ അബ്സ്ട്രാക്റ്റ് നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ഭാവങ്ങൾ.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എലമെന്റ്-ടൈപ്പ്
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
നോൺ-ഹെഡഡ് വെക്ടറുകൾ, ഓരോ പൊട്ടൻഷ്യലിനും ഒരു പുതിയ അബ്സ്ട്രാക്റ്റ് നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ നോൺ-ഹെഡഡ് വെക്റ്ററിനുള്ള മൂലക തരം.
-do-not-index-allocated-nonheaded-vector-types-by-element-type
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
നോൺ-ഹെഡഡ് വെക്ടറുകൾ, പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആ നോൺ-ഹെഡഡ് വെക്ടറിന് എല്ലാ സാധ്യതയുള്ള മൂലക തരങ്ങളും. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
നോൺ-ഹെഡഡ് വെക്ടറുകൾ, ഓരോന്നിനും ഒരു പുതിയ അമൂർത്ത നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
ആവിഷ്കാരം. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഡോ-നോട്ട്-ഇൻഡക്സ്-അലോക്കേറ്റഡ്-നോൺഹെഡഡ്-വെക്റ്റർ-ടൈപ്പുകൾ-ബൈ-എക്സ്പ്രഷൻ
ഒഴുക്ക് വിശകലനം ചെയ്യുമ്പോൾ, പ്രൊസീജർ-കോൾ എക്സ്പ്രഷനുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, അത് അനുവദിക്കാൻ കഴിയും
നോൺ-ഹെഡഡ് വെക്ടറുകൾ, പങ്കിടുന്ന ഒരൊറ്റ അമൂർത്ത നോൺ-ഹെഡഡ് വെക്റ്റർ സൃഷ്ടിക്കുന്നു
അത്തരം എല്ലാ ഭാവങ്ങളും.
നിലവിൽ, സ്ഥിരമായ എക്സ്പ്രഷനുകളിൽ നോൺ-ഹെഡഡ് വെക്റ്ററുകളും നോൺ-ഹെഡഡും അടങ്ങിയിരിക്കാൻ കഴിയില്ലെന്നത് ശ്രദ്ധിക്കുക
ഒരു പ്രൊസീജർ-കോൾ എക്സ്പ്രഷൻ വഴി വെക്റ്ററുകൾ ഒരിക്കലും അനുവദിക്കില്ല. ARGV മാത്രമാണ് തലയില്ലാത്തത്
വെക്റ്റർ. ഈ ഓപ്ഷനുകൾ പൂർണ്ണതയ്ക്കും ഭാവിയിലെ വിപുലീകരണങ്ങൾക്കുമായി മാത്രം ഉൾപ്പെടുത്തിയിട്ടുണ്ട്
നോൺ-ഹെഡഡ് വെക്റ്റർ സ്ഥിരാങ്കങ്ങളും നോൺ-ഹെഡഡ് അനുവദിക്കുന്ന നടപടിക്രമങ്ങളും ഭാഷ അനുവദിക്കുന്നു
വെക്റ്ററുകൾ.
-നോ-ക്ലോൺ-സൈസ്-ലിമിറ്റ്
അൺലിമിറ്റഡ് പോളിവേരിയൻസ് അനുവദിക്കുക, അതായത് ഏത് വലുപ്പത്തിലുമുള്ള നടപടിക്രമങ്ങളുടെ പകർപ്പുകൾ ഉണ്ടാക്കുക.
-ക്ലോൺ-വലിപ്പം-പരിധി
പോളിവേറിയൻസ് പരിധി വ്യക്തമാക്കുക, അതായത് അതിൽ കുറവുള്ള നടപടിക്രമങ്ങളുടെ പകർപ്പുകൾ ഉണ്ടാക്കുക
ഇത്രയും പദപ്രയോഗങ്ങൾ. ഒരു നെഗറ്റീവ് പൂർണ്ണസംഖ്യയായിരിക്കണം. 80 ലേക്ക് ഡിഫോൾട്ടുകൾ. 0 വ്യക്തമാക്കുക
പോളിവേരിയൻസ് പ്രവർത്തനരഹിതമാക്കാൻ.
-വിഭജനം-പോലും-ഇല്ലെങ്കിൽ-വിശാലമാക്കൽ
സാധാരണയായി, പോളിവാരിയൻസ് ഒരു നടപടിക്രമത്തിന്റെ പകർപ്പ് ഉപയോഗിച്ച് വിളിക്കുകയാണെങ്കിൽ മാത്രമേ നിർമ്മിക്കൂ
വ്യത്യസ്ത തരത്തിലുള്ള വാദങ്ങൾ. നടപടിക്രമങ്ങളുടെ പകർപ്പുകൾ നിർമ്മിക്കാൻ ഈ ഓപ്ഷൻ വ്യക്തമാക്കുക
ഒരേ തരത്തിലുള്ള വാദങ്ങളുമായി അവരെ വിളിക്കുമ്പോഴും. ഇത് അവരെ അനുവദിക്കും
ഇൻ-ലൈൻ ആയിരിക്കുക.
-പൂർണ്ണമായി-പരിവർത്തനം-സിപിഎസ്
സാധാരണയായി, ഭാരം കുറഞ്ഞ CPS പരിവർത്തനം പ്രയോഗിക്കുന്നു, ആ പദപ്രയോഗങ്ങൾ മാത്രം പരിവർത്തനം ചെയ്യുന്നു
രക്ഷപ്പെടൽ തുടർച്ചകളെ പിന്തുണയ്ക്കുന്നതിന് ആവശ്യമായ നടപടിക്രമങ്ങളും. ഈ ഓപ്ഷൻ എപ്പോൾ
വ്യക്തമാക്കിയിരിക്കുന്നു, പ്രോഗ്രാം പൂർണ്ണമായും CPS-ലേക്ക് പരിവർത്തനം ചെയ്തു.
-ഒഴിവാക്കൽ-തുടർച്ചകൾ
സാധാരണയായി, പൂർണ്ണമായ തുടർച്ചകൾ പിന്തുണയ്ക്കുന്നു. ഈ ഓപ്ഷൻ വ്യക്തമാക്കുമ്പോൾ, ദി
പിന്തുണയ്ക്കുന്ന തുടർച്ചകൾ മാത്രമാണ് ശേഷം വിളിക്കാൻ കഴിയാത്തവ
തുടർച്ച സൃഷ്ടിച്ച നടപടിക്രമം തിരിച്ചെത്തി.
-du സാധാരണഗതിയിൽ, ഫ്ലോ വിശകലനത്തിന് ശേഷം, സ്റ്റാലിൻ ഓരോ തരത്തിലുമുള്ള സെറ്റുകളെ പരമാവധി ഒന്ന് നിർബ്ബന്ധിക്കുന്നു
നൽകിയിരിക്കുന്ന പേരിന്റെ ഘടന-തരം അംഗം, പരമാവധി ഒരു തല-വെക്റ്റർ-തരം അംഗം, കൂടാതെ
പരമാവധി ഒരു നോൺ-ഹെഡഡ്-വെക്റ്റർ-ടൈപ്പ് അംഗം. ഈ ഓപ്ഷൻ ഇത് പ്രവർത്തനരഹിതമാക്കുന്നു, ഇത് തരം അനുവദിക്കുന്നു
നൽകിയിരിക്കുന്ന പേരിന്റെ ഒന്നിലധികം ഘടന-തരം അംഗങ്ങളുള്ള സെറ്റുകൾ, ഒന്നിലധികം തലയുള്ള-
വെക്റ്റർ-തരം അംഗങ്ങളും ഒന്നിലധികം നോൺ-ഹെഡഡ്-വെക്റ്റർ-തരം അംഗങ്ങളും. ചിലപ്പോൾ വിളവ് ലഭിക്കും
കൂടുതൽ കാര്യക്ഷമമായ കോഡ്, ചിലപ്പോൾ കാര്യക്ഷമത കുറഞ്ഞ കോഡ് നൽകുന്നു.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ സൃഷ്ടിച്ച റൺ-ടൈം പിശക് പരിശോധന കോഡിന്റെ അളവ് നിയന്ത്രിക്കുന്നു. കുറിപ്പ്
ഈ ഓപ്ഷനുകളുടെ ക്രമീകരണങ്ങളിൽ നിന്ന് വ്യത്യസ്തമായി, സ്റ്റാലിൻ എപ്പോഴും കോഡ് സൃഷ്ടിക്കും
ശരിയായ പ്രോഗ്രാമുകൾക്കായി സ്കീം ഭാഷയുടെ അർത്ഥശാസ്ത്രം അനുസരിക്കുന്നു. ഈ ഓപ്ഷനുകൾ മാത്രം
സുരക്ഷാ നിലവാരം നിയന്ത്രിക്കുക, അതായത് റൺ-ടൈം പിശക് പരിശോധിക്കുന്നതിന്റെ അളവ്
പ്രോഗ്രാമുകൾ.
-ഒബ് ഔട്ട്-ഓഫ്-ബൗണ്ട് വെക്ടറോ സ്ട്രിംഗ് സബ്സ്ക്രിപ്റ്റുകളോ പരിശോധിക്കാനുള്ള കോഡ് വ്യക്തമാക്കുന്നു
അടിച്ചമർത്തി. വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, ഒരു വെക്റ്റർ അല്ലെങ്കിൽ ഒരു റൺ-ടൈം പിശക് നൽകും
സ്ട്രിംഗ് സബ്സ്ക്രിപ്റ്റ് പരിധിക്ക് പുറത്താണ്. വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, പ്രോഗ്രാമുകളുടെ പെരുമാറ്റം
ഒരു ഔട്ട്-ഓഫ്-ബൗണ്ട് വെക്റ്റർ ഉണ്ടായിരിക്കുക അല്ലെങ്കിൽ സ്ട്രിംഗ് സബ്സ്ക്രിപ്റ്റ് നിർവചിച്ചിട്ടില്ല.
-ഓം മെമ്മറിക്ക് പുറത്തുള്ള പിശകുകൾ പരിശോധിക്കുന്നതിനുള്ള കോഡ് അടിച്ചമർത്തണമെന്ന് വ്യക്തമാക്കുന്നു. അല്ലെങ്കിൽ
വ്യക്തമാക്കിയിരിക്കുന്നു, മതിയായ മെമ്മറി ഇല്ലെങ്കിൽ ഒരു റൺ-ടൈം പിശക് നൽകും
അനുവദിച്ചു. വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, മെമ്മറി തീരുന്ന പ്രോഗ്രാമുകളുടെ സ്വഭാവം
നിർവചിക്കാത്തത്.
-ഒന്ന് കൃത്യമായ പൂർണ്ണസംഖ്യ ഓവർഫ്ലോ പരിശോധിക്കുന്നതിനുള്ള കോഡ് അടിച്ചമർത്തണമെന്ന് വ്യക്തമാക്കുന്നു. എങ്കിൽ
വ്യക്തമാക്കിയിട്ടില്ല, കൃത്യമായ പൂർണ്ണസംഖ്യ ഓവർഫ്ലോയിൽ ഒരു റൺ-ടൈം പിശക് നൽകും. എങ്കിൽ
വ്യക്തമാക്കിയ, കൃത്യമായ പൂർണ്ണസംഖ്യ ഓവർഫ്ലോക്ക് കാരണമാകുന്ന പ്രോഗ്രാമുകളുടെ സ്വഭാവം നിർവചിച്ചിട്ടില്ല.
നിലവിൽ, ഓവർഫ്ലോ ചെക്കിംഗ് കോഡ് സൃഷ്ടിക്കുന്നത് എങ്ങനെയെന്ന് സ്റ്റാലിന് അറിയില്ല, അതിനാൽ ഇത്
ഓപ്ഷൻ വ്യക്തമാക്കിയിരിക്കണം.
-അഥവാ വിവിധ റൺ-ടൈം ഫയൽ-സിസ്റ്റം പിശകുകൾ പരിശോധിക്കുന്നതിനുള്ള കോഡ് വ്യക്തമാക്കുന്നു
അടിച്ചമർത്തി. വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, ഒരു റൺ-ടൈം പിശക് പരാജയപ്പെടുമ്പോൾ നൽകും
ഒരു ഫയൽ തുറക്കാനോ അടയ്ക്കാനോ ശ്രമിക്കുന്നു. വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, പ്രോഗ്രാമുകളുടെ പെരുമാറ്റം
അത്തരത്തിലുള്ള ഫയൽ-ആക്സസ് ശ്രമങ്ങൾ പരാജയപ്പെട്ടു എന്നത് നിർവചിക്കപ്പെട്ടിട്ടില്ല.
-ഒട്ടി പ്രാകൃത നടപടിക്രമങ്ങൾ ആർഗ്യുമെന്റുകൾ പാസ്സാക്കിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ ആ കോഡ് വ്യക്തമാക്കുന്നു
ശരിയായ തരം അടിച്ചമർത്തപ്പെട്ടിരിക്കുന്നു. വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, ഒരു റൺ-ടൈം പിശക് നൽകും
പ്രാകൃത നടപടിക്രമം തെറ്റായ തരത്തിലുള്ള ആർഗ്യുമെന്റുകൾ ഉപയോഗിച്ച് വിളിക്കുന്നു. വ്യക്തമാക്കിയാൽ, ദി
തെറ്റായ തരത്തിലുള്ള ഡാറ്റയുള്ള ഒരു പ്രാകൃത നടപടിക്രമം എന്ന് വിളിക്കുന്ന പ്രോഗ്രാമുകളുടെ പെരുമാറ്റം
നിർവചിക്കാത്തത്.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ കമ്പൈലറിന്റെ വാചാലത നിയന്ത്രിക്കുന്നു:
-ഡി 0 ഒരു കംപൈലർ പിശകിൽ ഒരു കംപൈൽ-ടൈം ബാക്ക്ട്രെയിസ് നിർമ്മിക്കുന്നു.
-ഡി 1 കംപൈലർ എന്താണ് ചെയ്യുന്നതെന്ന് വിവരിക്കുന്ന കംപൈലേഷൻ സമയത്ത് കമന്ററി നിർമ്മിക്കുന്നു.
-ഡി 2 ഫ്ലോ വിശകലനത്തിന് ശേഷം സോഴ്സ് പ്രോഗ്രാമിന്റെ അലങ്കരിച്ച ലിസ്റ്റിംഗ് നിർമ്മിക്കുന്നു.
-ഡി 3 തത്തുല്യ തരങ്ങൾക്ക് ശേഷം സോഴ്സ് പ്രോഗ്രാമിന്റെ അലങ്കരിച്ച ലിസ്റ്റിംഗ് നിർമ്മിക്കുന്നു
ലയിപ്പിച്ചു.
-ഡി 4 ഉറവിട പ്രോഗ്രാമിന്റെ ഒരു കോൾ ഗ്രാഫ് നിർമ്മിക്കുന്നു.
-ഡി 5 ജനറേറ്റുചെയ്ത എല്ലാ നിസ്സാരമല്ലാത്ത നേറ്റീവ് നടപടിക്രമങ്ങളുടെയും ഒരു വിവരണം നിർമ്മിക്കുന്നു.
-ഡി 6 എയ്ക്കൊപ്പം സ്റ്റോറേജ് അനുവദിക്കുന്ന എല്ലാ എക്സ്പ്രഷനുകളുടെയും ക്ലോസറുകളുടെയും ഒരു ലിസ്റ്റ് നിർമ്മിക്കുന്നു
ആ സംഭരണം എവിടെയാണ് അനുവദിച്ചിരിക്കുന്നത് എന്നതിന്റെ വിവരണം.
-ഡി 7 ഭാരം കുറഞ്ഞ ക്ലോഷർ-കൺവേർഷൻ പ്രക്രിയയുടെ ഒരു ട്രെയ്സ് ഉത്പാദിപ്പിക്കുന്നു.
-ക്ലോഷർ-കൺവേർഷൻ-സ്റ്റാറ്റിസ്റ്റിക്സ്
ക്ലോഷർ-കൺവേർഷൻ സ്ഥിതിവിവരക്കണക്കുകളുടെ ഒരു സംഗ്രഹം നിർമ്മിക്കുന്നു. ഇവ സ്വയമേവയാണ്
പ്രോഗ്രാം പ്രോസസ്സ് ചെയ്തത് bcl-to-latex.sc നടത്തുന്നതാണ് bcl-ബെഞ്ച്മാർക്ക് സ്ക്രിപ്റ്റ്
(രണ്ടും /usr/local/stalin/benchmarks ഡയറക്ടറി) II, III, കൂടാതെ പട്ടികകൾ നിർമ്മിക്കാൻ
IV, പേപ്പറിന്റെ ഫ്ലോ സംവിധാനം ലൈറ്റ്വെയിറ്റ് അടയ്ക്കുക പരിവർത്തന.
കംപൈൽ ചെയ്ത കോഡ് ഉപയോഗിക്കുന്ന സ്റ്റോറേജ് മാനേജ്മെന്റ് സ്ട്രാറ്റജിയെ ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ നിയന്ത്രിക്കുന്നു:
-ഡിസി ഉപയോഗം പ്രവർത്തനരഹിതമാക്കുന്നു അലോക്ക(3). സാധാരണയായി, കമ്പൈലർ ഉപയോഗിക്കും അലോക്ക(3) ലേക്ക്
സാധ്യമാകുമ്പോൾ കോൾ സ്റ്റാക്കിൽ അനുവദിക്കുക.
-ഡിസി ബോഹം കൺസർവേറ്റീവ് ഗാർബേജ് കളക്ടറുടെ ഉപയോഗം പ്രവർത്തനരഹിതമാക്കുന്നു. സാധാരണയായി, ദി
കംപൈലർ ആയുഷ്കാലം അറിയാത്ത ഡാറ്റ അനുവദിക്കുന്നതിന് Boehm കളക്ടർ ഉപയോഗിക്കും
ചെറുതായിരിക്കാൻ. ചിലതിന് കംപൈലർ ഇപ്പോഴും Boehm കളക്ടർ ഉപയോഗിക്കുമെന്നത് ശ്രദ്ധിക്കുക
സ്റ്റാക്കിലോ ഒരു പ്രദേശത്തോ ആ ഡാറ്റ അനുവദിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ ഡാറ്റ.
-dH ഡാറ്റ അനുവദിക്കുന്നതിന് പ്രദേശങ്ങളുടെ ഉപയോഗം പ്രവർത്തനരഹിതമാക്കുന്നു.
-dg മേഖല സെഗ്മെന്റുകൾ അനുവദിക്കുമ്പോൾ ഡയഗ്നോസ്റ്റിക് സന്ദേശങ്ങൾ സൃഷ്ടിക്കാൻ കോഡ് സൃഷ്ടിക്കുക
മോചിപ്പിച്ചു.
- dh വികസിപ്പിക്കാവുന്ന പ്രദേശങ്ങളുടെ ഉപയോഗം അപ്രാപ്തമാക്കുകയും പകരം നിശ്ചിത വലുപ്പത്തിലുള്ള പ്രദേശങ്ങൾ ഉപയോഗിക്കുകയും ചെയ്യുന്നു.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ കോഡ് സൃഷ്ടിക്കൽ നിയന്ത്രിക്കുന്നു:
-d കൃത്യമല്ലാത്ത റിയലുകളെ C ഇരട്ടികളായി പ്രതിനിധീകരിക്കുന്നുവെന്ന് വ്യക്തമാക്കുന്നു. സാധാരണയായി, കൃത്യമല്ലാത്ത യാഥാർത്ഥ്യങ്ങൾ
സി ഫ്ലോട്ടുകളായി പ്രതിനിധീകരിക്കുന്നു.
- വാസ്തുവിദ്യ
കോഡ് സൃഷ്ടിക്കുന്നതിനുള്ള ആർക്കിടെക്ചർ വ്യക്തമാക്കുക. ജനറേറ്റുചെയ്യുക എന്നതാണ് സ്ഥിരസ്ഥിതി
കംപൈലർ പ്രവർത്തിപ്പിക്കുന്ന ഏത് ആർക്കിടെക്ചറിന്റെയും കോഡ്. നിലവിൽ, അറിയപ്പെടുന്നത്
IA32, IA32-align-double, SPARC, SPARCv9, SPARC64, MIPS, Alpha, എന്നിവയാണ് ആർക്കിടെക്ചറുകൾ
ARM, M68K, PowerPC, S390.
-അടിസ്ഥാനം
ഭാരം കുറഞ്ഞ ക്ലോഷർ കൺവേർഷൻ നടത്തരുത്. എല്ലാവർക്കുമായി അടച്ചുപൂട്ടലുകൾ സൃഷ്ടിച്ചിരിക്കുന്നു
നടപടിക്രമങ്ങൾ. ഉപയോക്താവ് സാധാരണയായി ഈ ഓപ്ഷൻ വ്യക്തമാക്കില്ല. അത് ഉദ്ദേശിച്ചത് മാത്രമാണ്
ഭാരം കുറഞ്ഞ ക്ലോഷർ പരിവർത്തനത്തിന്റെ ഫലപ്രാപ്തി അളക്കാൻ. ഇത് ഉപയോഗിക്കുന്നത്
bcl-ബെഞ്ച്മാർക്ക് സ്ക്രിപ്റ്റ് (ഇതിൽ /usr/local/stalin/benchmarks ഡയറക്ടറി) നിർമ്മിക്കാൻ
പേപ്പറിന്റെ II, III, IV പട്ടികകൾ ഫ്ലോ സംവിധാനം ലൈറ്റ്വെയിറ്റ് അടയ്ക്കുക പരിവർത്തന.
- പരമ്പരാഗത
ആശ്രയിക്കാത്ത ലൈറ്റ്വെയ്റ്റ് ക്ലോഷർ കൺവേർഷന്റെ ഒരു ലളിതമായ പതിപ്പ് നടത്തുക
ഇന്റർപ്രൊസീജറൽ വിശകലനത്തിൽ. 'പരമ്പരാഗത' കംപൈലറുകൾ ചെയ്യുന്നത് അനുകരിക്കാനുള്ള ശ്രമങ്ങൾ
(അത് എന്തായാലും). ഉപയോക്താവ് സാധാരണയായി ഈ ഓപ്ഷൻ വ്യക്തമാക്കില്ല. അത് മാത്രമാണ്
ഭാരം കുറഞ്ഞ ക്ലോഷർ പരിവർത്തനത്തിന്റെ ഫലപ്രാപ്തി അളക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്. അത്
ഉപയോഗിക്കുന്നത് bcl-ബെഞ്ച്മാർക്ക് സ്ക്രിപ്റ്റ് (ഇതിൽ /usr/local/stalin/benchmarks ഡയറക്ടറി) വരെ
പേപ്പറിന്റെ II, III, IV പട്ടികകൾ നിർമ്മിക്കുക ഫ്ലോ സംവിധാനം ലൈറ്റ്വെയിറ്റ് അടയ്ക്കുക
പരിവർത്തന.
- ഭാരം കുറഞ്ഞ
ഭാരം കുറഞ്ഞ ക്ലോഷർ പരിവർത്തനം നടത്തുക. ഇതാണ് സ്ഥിരസ്ഥിതി.
-ഉടൻ-പരന്ന
ഉടനടി ഫ്ലാറ്റ് ക്ലോഷറുകൾ ഉപയോഗിച്ച് കോഡ് സൃഷ്ടിക്കുക. ഇത് (ഇതുവരെ) നടപ്പിലാക്കിയിട്ടില്ല.
- പരോക്ഷ-പരന്ന
പരോക്ഷ ഫ്ലാറ്റ് ക്ലോഷറുകൾ ഉപയോഗിച്ച് കോഡ് സൃഷ്ടിക്കുക. ഇത് (ഇതുവരെ) നടപ്പിലാക്കിയിട്ടില്ല.
-ഉടൻ-പ്രദർശനം
ഉടനടി ഡിസ്പ്ലേ ക്ലോഷറുകൾ ഉപയോഗിച്ച് കോഡ് സൃഷ്ടിക്കുക.
-പരോക്ഷ-പ്രദർശനം
പരോക്ഷ ഡിസ്പ്ലേ ക്ലോസറുകൾ ഉപയോഗിച്ച് കോഡ് സൃഷ്ടിക്കുക. ഇത് (ഇതുവരെ) നടപ്പിലാക്കിയിട്ടില്ല.
-ലിങ്ക്ഡ്
ലിങ്ക് ചെയ്ത ക്ലോഷറുകൾ ഉപയോഗിച്ച് കോഡ് സൃഷ്ടിക്കുക. ഇതാണ് സ്ഥിരസ്ഥിതി.
-അലൈൻ-സ്ട്രിംഗുകൾ
എല്ലാ സ്ട്രിംഗുകളും ഫിക്സ്നം അലൈൻമെന്റിലേക്ക് വിന്യസിക്കുക. സ്ട്രിംഗുകൾ ആയിരിക്കുമ്പോൾ ഇത് പ്രവർത്തിക്കില്ല
ഫിക്സ്നം അലൈൻമെന്റുമായി പൊരുത്തപ്പെടാത്ത വിദേശ നടപടിക്രമങ്ങൾ വഴി തിരിച്ചുനൽകി. ഇത് ചെയ്യും
ARGV ഉപയോഗിക്കുമ്പോൾ പ്രവർത്തിക്കില്ല, കാരണം ആ സ്ട്രിംഗുകളും ഫിക്സ്നവുമായി വിന്യസിച്ചിട്ടില്ല
വിന്യാസം. ഇതാണ് സ്ഥിരസ്ഥിതി.
-do-not-align-strings
ഫിക്സ്നം അലൈൻമെന്റിലേക്ക് സ്ട്രിംഗുകൾ വിന്യസിക്കരുത്. സ്ട്രിംഗുകൾ ചെയ്യുമ്പോൾ ഇത് വ്യക്തമാക്കണം
വിദേശ നടപടിക്രമങ്ങൾ വഴി തിരിച്ചുനൽകുന്നത് ഫിക്സ്നം അലൈൻമെന്റുമായി പൊരുത്തപ്പെടുന്നില്ല.
-ഫ്രോം EQ എന്നറിയപ്പെടുന്ന കംപൈലർ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനക്ഷമമാക്കണോ? വ്യാജം. ചിലപ്പോൾ കൂടുതൽ വിളവ് ലഭിക്കും
കാര്യക്ഷമമായ കോഡ്, ചിലപ്പോൾ കാര്യക്ഷമത കുറഞ്ഞ കോഡ് നൽകുന്നു.
-df ഫോർജറി എന്നറിയപ്പെടുന്ന കംപൈലർ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു.
-dG സാധ്യമാകുമ്പോഴെല്ലാം പാരാമീറ്ററുകൾക്ക് പകരം ഗ്ലോബൽ വേരിയബിളുകൾ ഉപയോഗിച്ച് ആർഗ്യുമെന്റുകൾ കൈമാറുക.
-ദു അയയ്ക്കുന്നതിന് സ്റ്റേറ്റ്മെന്റുകൾ മാറുന്നതിന് പകരം if സ്റ്റേറ്റ്മെന്റുകൾ സൃഷ്ടിക്കുക.
-dI ഉടനടി ഘടനകളുടെ ഉപയോഗം സാധ്യമാക്കുന്നു.
-dp പ്രാതിനിധ്യ പ്രമോഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നു. ഞെരുക്കത്തിൽ നിന്ന് ചില തരം സെറ്റുകൾ പ്രൊമോട്ട് ചെയ്യുന്നു
ഇത് റൺ-ടൈമിന്റെ അളവ് കുറയ്ക്കുകയാണെങ്കിൽ, സ്ക്വിഷ്ഡ് അല്ലെങ്കിൽ സ്ക്വിഷ്ഡ് ടു ജനറൽ
പ്രാതിനിധ്യ ബലപ്രയോഗങ്ങൾ ബ്രാഞ്ചിംഗ് അല്ലെങ്കിൽ അയയ്ക്കൽ. ചിലപ്പോൾ കൂടുതൽ കാര്യക്ഷമമായി വിളവ് നൽകുന്നു
കോഡ് ചിലപ്പോൾ കാര്യക്ഷമത കുറഞ്ഞ കോഡ് നൽകുന്നു.
-ഡി.പി പകർപ്പ് പ്രചരിപ്പിക്കൽ പ്രവർത്തനക്ഷമമാക്കുന്നു. ചിലപ്പോൾ കൂടുതൽ കാര്യക്ഷമമായ കോഡ് നൽകുന്നു, ചിലപ്പോൾ
കാര്യക്ഷമത കുറഞ്ഞ കോഡ് നൽകുന്നു.
-ദെസ് സ്ക്വീസിംഗ് എന്നറിയപ്പെടുന്ന കമ്പൈലർ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു.
-dS സ്ക്വിഷിംഗ് എന്നറിയപ്പെടുന്ന കംപൈലർ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു.
-ടിഎംകെ ട്രെഡ്മാർക്കുകൾ വിതരണം ചെയ്ത-പങ്കിട്ട-മെമ്മറിയുമായി പ്രവർത്തിക്കുന്ന കോഡിന്റെ ജനറേഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നു
പാക്കേജ്. നിലവിൽ ഈ ഓപ്ഷൻ പൂർണ്ണമായി നടപ്പിലാക്കിയിട്ടില്ല കൂടാതെ പ്രവർത്തിക്കുമെന്ന് അറിയില്ല.
-നോ-ടെയിൽ-കോൾ-ഒപ്റ്റിമൈസേഷൻ
സ്റ്റാലിൻ ഇപ്പോൾ, ഡിഫോൾട്ടായി, ഒഴികെ എല്ലായിടത്തും ശരിയായി ടെയിൽ റിക്കർസീവ് ആയ കോഡ് സൃഷ്ടിക്കുന്നു
ഏറ്റവും അപൂർവമായ സാഹചര്യങ്ങൾ. ശരിയായ വാൽ സൃഷ്ടിക്കാൻ അത് നിർബന്ധിതമാക്കാം-
ഉചിതമായ ഓപ്ഷനുകൾ ഉപയോഗിച്ച് എല്ലാ സാഹചര്യങ്ങളിലും ആവർത്തന കോഡ്. ചില വാൽ-ആവർത്തന
കോളുകൾ, ടാർഗെറ്റിൽ കോൾ സൈറ്റ് ഇൻ-ലൈൻ ചെയ്തിരിക്കുന്നവ, സി എന്ന് വിവർത്തനം ചെയ്യപ്പെടുന്നു
goto പ്രസ്താവനകളും എല്ലായ്പ്പോഴും ശരിയായ ടെയിൽ-റിക്കേഴ്സീവ് കോഡും ലഭിക്കും. ബാക്കിയുള്ളവ
ടെയിൽ പൊസിഷനിൽ സി ഫംഗ്ഷൻ കോളുകളായി വിവർത്തനം ചെയ്തു. ഇത് സി കമ്പൈലറിനെ ആശ്രയിക്കുന്നു
ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തുക. ജിസി(1) പതിപ്പുകൾ 2.96, 3.0.2 (ഒരുപക്ഷേ മറ്റ്
പതിപ്പുകൾ) IA32-ൽ ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തുക (ഒരുപക്ഷേ മറ്റ് ആർക്കിടെക്ചറുകൾ)
എപ്പോൾ -ഫോപ്റ്റിമൈസ്-സഹോദര-വിളികൾ വ്യക്തമാക്കിയിട്ടുണ്ട്. (-O2 ധ്വനിപ്പിക്കുന്നു -ഫോപ്റ്റിമൈസ്-സഹോദരൻ-
കോളുകൾ.) ജിസി(1) IA32-ൽ മാത്രം ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തുന്നു
സാഹചര്യങ്ങൾ. ആദ്യം, ലക്ഷ്യവും കോൾ സൈറ്റും അനുയോജ്യമായിരിക്കണം
ഒപ്പുകൾ. അനുയോജ്യമായ ഒപ്പുകൾ ഉറപ്പുനൽകാൻ, സ്റ്റാലിൻ പാരാമീറ്ററുകൾ സിക്ക് കൈമാറുന്നു
ഗ്ലോബൽ വേരിയബിളുകളിലെ ടെയിൽ-റെക്കേഴ്സീവ് ലൂപ്പുകളുടെ ഭാഗമായ പ്രവർത്തനങ്ങൾ. രണ്ടാമതായി, ദി
ലക്ഷ്യം പ്രഖ്യാപിക്കാൻ പാടില്ല __ആട്രിബ്യൂട്ട്__ ((മടക്കം ഇല്ല)). അതിനാൽ സ്റ്റാലിൻ ചെയ്യില്ല
സൃഷ്ടിക്കുക a __ആട്രിബ്യൂട്ട്__ ((മടക്കം ഇല്ല)) a യുടെ ഭാഗമായ ഒരു ചടങ്ങിനുള്ള പ്രഖ്യാപനം
അത് ഒരിക്കലും തിരിച്ചുവരില്ലെന്ന് സ്റ്റാലിൻ അറിയാമെങ്കിലും ടെയിൽ-റെക്കർസീവ് ലൂപ്പ്. മൂന്നാമത്, ദി
കോൾ സൈറ്റ് അടങ്ങുന്ന ഫംഗ്ഷൻ വിളിക്കാൻ കഴിയില്ല അലോക്ക(3). ജിസി(1) ഒഴുക്കില്ല
വിശകലനം. ഏതെങ്കിലും കോൾ അലോക്ക(3) കോൾ സൈറ്റ് അടങ്ങുന്ന ഫംഗ്ഷനിൽ, നമ്പർ
അനുവദിച്ച ഡാറ്റ രക്ഷപ്പെടുമോ എന്ന കാര്യം, ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനരഹിതമാക്കും.
അങ്ങനെ സ്റ്റാലിൻ a-ൽ നൽകിയിരിക്കുന്ന ഏത് നടപടിക്രമത്തിലും ഡാറ്റയുടെ സ്റ്റാക്ക് അലോക്കേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു
ഒരു ടെയിൽ-റിക്കേഴ്സീവ് ലൂപ്പിന്റെ ഭാഗമായ നടപടിക്രമം. അവസാനമായി, കോൾ സൈറ്റിന് കഴിയില്ല
നടപടിക്രമം പുറത്തുകടക്കുമ്പോൾ വീണ്ടും പ്രവേശിക്കുന്ന പ്രദേശങ്ങൾ സ്വതന്ത്രമാകുമെന്നതിനാൽ വീണ്ടും പ്രവേശിക്കുന്ന പ്രദേശം അടങ്ങിയിരിക്കുന്നു
ഒരു ടെയിൽ കോളിന് ഇടയിലുള്ള പ്രദേശം വീണ്ടെടുക്കൽ ആവശ്യമാണ്. അങ്ങനെ സ്റ്റാലിൻ
അതിന്റെ ഭാഗമായ ഏത് നടപടിക്രമത്തിലും വീണ്ടും പ്രവേശിക്കുന്ന പ്രദേശത്തെ ഡാറ്റയുടെ അലോക്കേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു
ഒരു വാൽ-ആവർത്തന ലൂപ്പ്. ഈ ഒപ്റ്റിമൈസേഷനുകൾ പ്രവർത്തനരഹിതമാക്കുന്നത് ആനുകൂല്യത്തിന് ചിലവ് വരുത്തും
ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നേടുന്നതിന്റെ. നിങ്ങളുടെ സി കംപൈലർ ടെയിൽ-കോൾ നടത്തുന്നില്ലെങ്കിൽ
ഒപ്റ്റിമൈസേഷൻ അപ്പോൾ ചിലവ് നൽകേണ്ടതില്ലെന്ന് നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം. ദി -നോ-ടെയിൽ-കോൾ-ഒപ്റ്റിമൈസേഷൻ
കോഡ് സൃഷ്ടിക്കുന്നതിന് മുകളിൽ പറഞ്ഞ നാല് നടപടികൾ സ്റ്റാലിൻ എടുക്കാതിരിക്കാൻ ഓപ്ഷൻ കാരണമാകുന്നു
ഏത് ജിസി(1) ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തും. ഇത് വ്യക്തമാക്കുമ്പോഴും
ഓപ്ഷൻ, സ്റ്റാലിൻ ഇപ്പോഴും കോളുകൾ വിവർത്തനം ചെയ്യുന്നു, അവിടെ കോൾ സൈറ്റ് ഇൻ-ലൈനിലാണ്
ലക്ഷ്യം, സി ഗോട്ടോ പ്രസ്താവനകൾ പോലെ. ഇപ്പോഴും പരാജയപ്പെടാൻ കഴിയുന്ന മൂന്ന് അപൂർവ സന്ദർഭങ്ങളുണ്ട്
ശരിയായ വാൽ ആവർത്തനം. ആദ്യം, നിങ്ങൾ വ്യക്തമാക്കുകയാണെങ്കിൽ -ഡിസി സ്റ്റാക്ക് ഉപയോഗിക്കാൻ നിങ്ങൾക്ക് നിർബന്ധിക്കാം
അല്ലെങ്കിൽ ഒരു ടെയിൽ-കോൾ സൈക്കിളിൽ പോലും പ്രദേശ വിഹിതം. അല്ലാത്തതിനാൽ നിങ്ങൾക്ക് ഇത് ഒഴിവാക്കാം
വ്യക്തമാക്കുന്നു -ഡിസി. രണ്ടാമത്, ജിസി(1) എപ്പോൾ ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തില്ല
കോൾ സൈറ്റ് അടങ്ങുന്ന ഫംഗ്ഷൻ അനിയന്ത്രിതവും ഒരു ലോക്കൽ വേരിയബിളിനും ബാധകമാണ്. ജിസി(1) ചെയ്യുന്നവൻ
ഒഴുക്ക് വിശകലനം ഇല്ല. ഫംഗ്ഷനിലെ unary & ഒരു ലോക്കൽ വേരിയബിളിലേക്കുള്ള ഏതെങ്കിലും പ്രയോഗം
കോൾ സൈറ്റ് അടങ്ങിയിരിക്കുന്നു, പോയിന്റർ രക്ഷപ്പെട്ടാലും, ടെയിൽ പ്രവർത്തനരഹിതമാക്കും.
കോൾ ഒപ്റ്റിമൈസേഷൻ. നിങ്ങൾ വ്യക്തമാക്കുമ്പോൾ സ്റ്റാലിൻ അത്തരം unary ഉപയോഗങ്ങൾ സൃഷ്ടിക്കാൻ കഴിയും -ഫ്രോം
അല്ലെങ്കിൽ വ്യക്തമാക്കരുത് -df. വ്യക്തമാക്കുന്നതിലൂടെ നിങ്ങൾക്ക് അത്തരം കേസുകൾ ഒഴിവാക്കാം -df അല്ല
വ്യക്തമാക്കുന്നു -ഫ്രോം. ഒടുവിൽ, ജിസി(1) എപ്പോൾ ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടത്തില്ല
കോൾ സൈറ്റ് കോളുകൾ അടങ്ങുന്ന പ്രവർത്തനം setjmp(3). ജിസി(1) ഒഴുക്ക് വിശകലനം ചെയ്യുന്നില്ല.
ഏതെങ്കിലും കോൾ setjmp(3) കോൾ സൈറ്റ് അടങ്ങുന്ന ചടങ്ങിൽ, എന്നത് പ്രശ്നമല്ല
The jmp_buf രക്ഷപ്പെടുന്നു, ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ പ്രവർത്തനരഹിതമാക്കും. സ്റ്റാലിൻ വിവർത്തനം ചെയ്യുന്നു
ചില കോളുകൾ കോൾ-വിത്ത്-കറന്റ്-തുടർച്ച വിളിക്കുന്നത് പോലെ setjmp(3). നിങ്ങൾക്ക് കഴിയും
വ്യക്തമാക്കിക്കൊണ്ട് അങ്ങനെ ചെയ്യരുതെന്ന് സ്റ്റാലിനെ നിർബന്ധിക്കുക -പൂർണ്ണമായി-പരിവർത്തനം-സിപിഎസ്. സ്റ്റാലിൻ ചെയ്യും
ആദ്യത്തെയും മൂന്നാമത്തെയും സന്ദർഭങ്ങളിൽ ഒരു മുന്നറിയിപ്പ് സൃഷ്ടിക്കുക, അതായത് ടെയിൽ-കോൾ ചെയ്യുമ്പോൾ
റീഎൻട്രന്റ് റീജിയൻ അലോക്കേഷൻ അല്ലെങ്കിൽ കോളുകൾ വഴി ഒപ്റ്റിമൈസേഷൻ പരാജയപ്പെടുന്നു അലോക്ക(3) or
setjmp(3). അതിനാൽ നിങ്ങൾക്ക് വ്യക്തമാക്കുന്നത് നിർത്തിവയ്ക്കാം -പൂർണ്ണമായി-പരിവർത്തനം-സിപിഎസ് അല്ലെങ്കിൽ വിട്ടുനിൽക്കുന്നു
വ്യക്തമാക്കുന്നു -ഡിസി അത്തരം മുന്നറിയിപ്പുകൾ കാണുന്നതുവരെ. എന്നിരുന്നാലും, അത്തരത്തിലുള്ള ഒരു മുന്നറിയിപ്പും സൃഷ്ടിക്കപ്പെടുന്നില്ല,
unary & ഫോയിൽ ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ ഉപയോഗിക്കുമ്പോൾ. അതിനാൽ നിങ്ങൾ എപ്പോഴും ആഗ്രഹിച്ചേക്കാം
വ്യക്തമാക്കുക -df വ്യക്തമാക്കുന്നതിൽ നിന്ന് വിട്ടുനിൽക്കുക -ഫ്രോം നിങ്ങളുടെ പ്രോഗ്രാമുകൾ ആകാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ
ശരിയായി വാൽ ആവർത്തനം.
ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ സി-കംപൈലേഷൻ ഘട്ടത്തെ നിയന്ത്രിക്കുന്നു:
-db ഒരു ഡാറ്റാബേസ് ഫയലിന്റെ നിർമ്മാണം പ്രവർത്തനരഹിതമാക്കുന്നു.
-c സി കോഡ് സൃഷ്ടിച്ചതിന് ശേഷം സി കമ്പൈലറിനെ വിളിക്കേണ്ടതില്ലെന്ന് വ്യക്തമാക്കുന്നു.
സാധാരണഗതിയിൽ, സി കോഡ് ഉണ്ടാക്കിയതിന് ശേഷമാണ് സി കംപൈലറിനെ വിളിക്കുന്നത്
എക്സിക്യൂട്ടബിൾ ചിത്രം. ഇത് സൂചിപ്പിക്കുന്നു -k.
-k ജനറേറ്റ് ചെയ്ത C ഫയൽ ഇല്ലാതാക്കേണ്ടതില്ലെന്ന് വ്യക്തമാക്കുന്നു. സാധാരണയായി, ജനറേറ്റഡ്
കംപൈൽ ചെയ്ത ശേഷം C ഫയൽ ഡിലീറ്റ് ചെയ്യപ്പെടും.
-cc ഉപയോഗിക്കേണ്ട സി കമ്പൈലർ വ്യക്തമാക്കുന്നു. സ്ഥിരസ്ഥിതികൾ ജിസി(1).
-കോപ്റ്റ് സി കംപൈലർ വിളിക്കേണ്ട ഓപ്ഷനുകൾ വ്യക്തമാക്കുന്നു. സാധാരണയായി സി
കംപൈലറിനെ ഓപ്ഷനുകളൊന്നുമില്ലാതെ വിളിക്കുന്നു. അനുവദിക്കുന്നതിന് ഈ ഓപ്ഷൻ ആവർത്തിക്കാം
സി കംപൈലറിലേക്ക് ഒന്നിലധികം ഓപ്ഷനുകൾ കൈമാറുന്നു.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് സ്റ്റാലിൻ ഓൺലൈനായി ഉപയോഗിക്കുക
