. . . . . . . . . . . . . . . . . . . . . . . . "\uACBD\uACC4 \uAC80\uC0AC"@ko . . . "Nella programmazione, il controllo dei limiti (bounds checking) \u00E8 un qualsiasi metodo per scoprire se una variabile \u00E8 all'interno dei suoi limiti prima di essere utilizzata. \u00C8 particolarmente importante per una variabile usata come indice per una matrice/vettore assicurarsi che il suo valore non sia al di fuori dei suoi limiti. Nel primo caso si parla di \"index checking\", nel secondo di \"range checking\". Poich\u00E9 il controllo dei limiti a run-time \u00E8 ritenuto pesante, non viene quasi mai effettuato."@it . . . . . . . "Bounds checking"@en . "\u8FB9\u754C\u68C0\u67E5\u5728\u7A0B\u5E8F\u8BBE\u8BA1\u4E2D\u662F\u6307\u5728\u4F7F\u7528\u67D0\u4E00\u4E2A\u53D8\u91CF\u524D\uFF0C\u68C0\u67E5\u8BE5\u53D8\u91CF\u662F\u5426\u5904\u5728\u4E00\u4E2A\u7279\u5B9A\u8303\u56F4\u4E4B\u5185\u3002\u6700\u5E38\u89C1\u7684\u662F\u6570\u7EC4\u7684\u4E0B\u6807\u68C0\u67E5\uFF0C\u9632\u6B62\u4E0B\u6807\u8D85\u51FA\u6570\u7EC4\u8303\u56F4\u800C\u8986\u76D6\u3001\u904B\u884C\u5176\u4ED6\u5806\u758A\u4F4D\u5740\u6570\u636E\u3002 \u82E5\u662F\u8FB9\u754C\u68C0\u67E5\u672A\u80FD\u6709\u6548\u53D1\u73B0\u9519\u8BEF\uFF0C\u6700\u5E38\u89C1\u7684\u7ED3\u679C\u662F\u7A0B\u5E8F\u51FA\u73B0\u5F02\u5E38\u5E76\u7EC8\u6B62\u8FD0\u884C\uFF0C\u4F46\u4E5F\u53EF\u80FD\u51FA\u73B0\u5176\u4ED6\u73B0\u8C61\u3002 \u7531\u4E8E\u6BCF\u6B21\u90FD\u8FDB\u884C\u8FB9\u754C\u68C0\u67E5\u975E\u5E38\u8017\u65F6\uFF0C\u800C\u4E14\u6709\u4E9B\u4EE3\u7801\u786E\u5B9A\u4E0D\u4F1A\u51FA\u73B0\u8D8A\u754C\u95EE\u9898\uFF0C\u6240\u4EE5\u8FD9\u4E2A\u64CD\u4F5C\u5E76\u4E0D\u603B\u662F\u9700\u8981\u88AB\u6267\u884C\u3002\u4E00\u4E9B\u73B0\u4EE3\u7F16\u8BD1\u5668\u4E2D\u6709\u79F0\u4E3A\u9009\u62E9\u6027\u8FB9\u754C\u68C0\u67E5\u7684\u6280\u672F\uFF0C\u53EF\u4EE5\u7565\u53BB\u4E00\u4E9B\u5E38\u89C1\u7684\u4E0D\u9700\u8981\u7684\u8FB9\u754C\u68C0\u67E5\uFF0C\u4ECE\u800C\u63D0\u9AD8\u7A0B\u5E8F\u7684\u6027\u80FD\u3002"@zh . . . "Nella programmazione, il controllo dei limiti (bounds checking) \u00E8 un qualsiasi metodo per scoprire se una variabile \u00E8 all'interno dei suoi limiti prima di essere utilizzata. \u00C8 particolarmente importante per una variabile usata come indice per una matrice/vettore assicurarsi che il suo valore non sia al di fuori dei suoi limiti. Per esempio, se in un vettore di dieci elementi, numerati da 1 a 10, il programma cerca di leggere o scrivere l'elemento numero 11 e nulla gli impedisce di farlo, verranno lette/scritte le locazioni di memoria immediatamente successive a quella del decimo elemento, senza riguardo a ci\u00F2 che esse possano contenere, questo porta inevitabilmente il programma a produrre risultati errati o a bloccarsi per avere generato indirizzi non validi (protezione di memoria). Un secondo esempio \u00E8 quello di una variabile scalare numerica intera con segno rappresentata su 16 bits, essa pu\u00F2 assumere valori compresi fra \u221232768 e +32767: un suo valore che eccedesse questi limiti, provocherebbe malfunzionamenti, risultati errati ed eventuale blocco del programma. Nel primo caso si parla di \"index checking\", nel secondo di \"range checking\". Se il programma \u00E8 dotato del \"controllo dei limiti\" cio\u00E8 contiene istruzioni apposite di controllo che vengono eseguite ogni qualvolta vengono toccate le variabili, viene generata una qualche \"segnalazione di eccezione\" (exception signal) Poich\u00E9 il controllo dei limiti a run-time \u00E8 ritenuto pesante, non viene quasi mai effettuato. Alcuni compilatori includono switch di compilazione per attivare o disattivare il controllo limiti (e anche altri controlli come overflow e underflow) Nella sua lezione del 1980 al \"Turing Award\" C. Antony R. Hoare descrisse la sua esperienza nella progettazione dell', un linguaggio che includeva il controllo dei limiti, dicendo: Una conseguenza di questo principio \u00E8 che ogni occorrenza di ogni indice in ogni variabile indicizzata viene controllato ad ogni modifica rispetto ai limiti dichiarati, superiore ed inferiore. Molti anni dopo chiedemmo ai nostri clienti se volevano l'opzione di disattivare questi controlli nell'interesse dell'efficienza in esecuzione. Unanimemente essi ci chiesero di non farlo, conoscevano la frequenza di questi errori di indicizzazione e sapevano che il non identificarli avrebbe portato a risultati disastrosi. Noto con paura ed orrore che ancora nel 1980, progettisti ed utilizzatori di linguaggi di programmazione non hanno imparato questa lezione. In un qualsiasi ramo rispettabile dell'ingegneria la mancanza di tali elementari precauzioni sarebbe da tempo contro la legge. Tra i linguaggi che includono obbligatoriamente il controllo a run-time vi sono Ada, Visual Basic, Java, JavaScript, PHP, Python, Ruby, Haskell, Lisp e C#. I linguaggi D e OCaml possono attivare o disattivare i controlli tramite switch di compilazione. Il C# supporta anche le \"unsafe regions\": sezioni di codice che, fra l'altro, sospendono temporaneamente i controlli nell'interesse dell'efficienza. Questo \u00E8 utile per accelerare l'esecuzione in porzioni di programma critiche, senza sacrificare la affidabilit\u00E0 dell'intero programma."@it . "2017-10-02"^^ . "\u8FB9\u754C\u68C0\u67E5"@zh . . "In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used. It is usually used to ensure that a number fits into a given type (range checking), or that a variable being used as an array index is within the bounds of the array (index checking). A failed bounds check usually results in the generation of some sort of exception signal. Because performing bounds checking during every usage is time-consuming, it is not always done. Bounds-checking elimination is a compiler optimization technique that eliminates unneeded bounds checking."@en . . "10570"^^ . . . . . . . . . . . . . . . . . . . . "Controllo dei limiti"@it . . "In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used. It is usually used to ensure that a number fits into a given type (range checking), or that a variable being used as an array index is within the bounds of the array (index checking). A failed bounds check usually results in the generation of some sort of exception signal."@en . . . . "486833"^^ . . . "\u8FB9\u754C\u68C0\u67E5\u5728\u7A0B\u5E8F\u8BBE\u8BA1\u4E2D\u662F\u6307\u5728\u4F7F\u7528\u67D0\u4E00\u4E2A\u53D8\u91CF\u524D\uFF0C\u68C0\u67E5\u8BE5\u53D8\u91CF\u662F\u5426\u5904\u5728\u4E00\u4E2A\u7279\u5B9A\u8303\u56F4\u4E4B\u5185\u3002\u6700\u5E38\u89C1\u7684\u662F\u6570\u7EC4\u7684\u4E0B\u6807\u68C0\u67E5\uFF0C\u9632\u6B62\u4E0B\u6807\u8D85\u51FA\u6570\u7EC4\u8303\u56F4\u800C\u8986\u76D6\u3001\u904B\u884C\u5176\u4ED6\u5806\u758A\u4F4D\u5740\u6570\u636E\u3002 \u82E5\u662F\u8FB9\u754C\u68C0\u67E5\u672A\u80FD\u6709\u6548\u53D1\u73B0\u9519\u8BEF\uFF0C\u6700\u5E38\u89C1\u7684\u7ED3\u679C\u662F\u7A0B\u5E8F\u51FA\u73B0\u5F02\u5E38\u5E76\u7EC8\u6B62\u8FD0\u884C\uFF0C\u4F46\u4E5F\u53EF\u80FD\u51FA\u73B0\u5176\u4ED6\u73B0\u8C61\u3002 \u7531\u4E8E\u6BCF\u6B21\u90FD\u8FDB\u884C\u8FB9\u754C\u68C0\u67E5\u975E\u5E38\u8017\u65F6\uFF0C\u800C\u4E14\u6709\u4E9B\u4EE3\u7801\u786E\u5B9A\u4E0D\u4F1A\u51FA\u73B0\u8D8A\u754C\u95EE\u9898\uFF0C\u6240\u4EE5\u8FD9\u4E2A\u64CD\u4F5C\u5E76\u4E0D\u603B\u662F\u9700\u8981\u88AB\u6267\u884C\u3002\u4E00\u4E9B\u73B0\u4EE3\u7F16\u8BD1\u5668\u4E2D\u6709\u79F0\u4E3A\u9009\u62E9\u6027\u8FB9\u754C\u68C0\u67E5\u7684\u6280\u672F\uFF0C\u53EF\u4EE5\u7565\u53BB\u4E00\u4E9B\u5E38\u89C1\u7684\u4E0D\u9700\u8981\u7684\u8FB9\u754C\u68C0\u67E5\uFF0C\u4ECE\u800C\u63D0\u9AD8\u7A0B\u5E8F\u7684\u6027\u80FD\u3002"@zh . . . . . . . . . . . . . . . . . "Sprawdzanie zakresu (ang. bounds checking) \u2013 ka\u017Cda metoda wykrywania czy nowa warto\u015B\u0107 zmiennej mie\u015Bci si\u0119 w zakresie zmiennej przed zapisem do niej, lub czy warto\u015B\u0107 kt\u00F3ra zostanie zaraz u\u017Cyta jako indeks do tablicy jest w granicach tej tablicy. Na przyk\u0142ad warto\u015B\u0107 32768 kt\u00F3ra mia\u0142aby by\u0107 przypisana do 16-bitowej zmiennej ze znakiem (kt\u00F3rej zakres to -32768 do +32767), lub dost\u0119p do 25 elementu tablicy w kt\u00F3rej zasi\u0119g prawid\u0142owych indeks\u00F3w to 0 do 9. Pierwszy przypadek to , a drugi to . Negatywne sprawdzenie zakresu zwykle powoduje wywo\u0142anie r\u00F3\u017Cnego rodzaju wyj\u0105tku."@pl . . . . . "\uACBD\uACC4 \uAC80\uC0AC(bounds checking)\uB294 \uBCC0\uC218\uAC00 \uC0AC\uC6A9\uB418\uAE30 \uC804\uC5D0 \uC5B4\uB5A4 \uACBD\uACC4 \uB0B4\uC5D0 \uC704\uCE58\uD558\uB294\uC9C0\uB97C \uAC80\uC0AC\uD558\uB294 \uAE30\uBC95\uC73C\uB85C, \uC8FC\uB85C \uC22B\uC790 \uB370\uC774\uD130\uAC00 \uD2B9\uC815 \uBC94\uC704 \uB0B4\uC5D0 \uC874\uC7AC\uD558\uB294\uC9C0 \uC5EC\uBD80\uB098 (\uBC94\uC704 \uAC80\uC0AC), \uBC30\uC5F4 \uAC00 \uBC30\uC5F4\uC758 \uACBD\uACC4 \uC548\uC5D0 \uC788\uB294\uC9C0 \uC5EC\uBD80\uB97C \uAC80\uC0AC\uD558\uB294\uB370 \uC0AC\uC6A9\uB41C\uB2E4 (\uC778\uB371\uC2A4 \uAC80\uC0AC). \uACBD\uACC4 \uAC80\uC0AC\uC5D0\uC11C \uC2E4\uD328\uD55C \uACBD\uC6B0 (\uAC00\uB839, \uC811\uADFC\uD560 \uBC30\uC5F4 \uC778\uB371\uC2A4\uAC00 \uBC30\uC5F4 \uACBD\uACC4 \uBC14\uAE65\uC5D0 \uC788\uB294 \uACBD\uC6B0)\uB294 \uBCF4\uD1B5 \uD504\uB85C\uADF8\uB7A8 \uC608\uC678\uB85C \uCC98\uB9AC\uB41C\uB2E4. \uACBD\uACC4 \uAC80\uC0AC\uB294 \uC8FC\uB85C \uCEF4\uD4E8\uD130 \uBCF4\uC548\uACFC \uAD00\uB828\uD558\uC5EC \uBA54\uBAA8\uB9AC \uCDE8\uC57D\uC810 \uBC1C\uC0DD\uC744 \uADFC\uBCF8\uC801\uC73C\uB85C \uBC29\uC9C0\uD558\uB294 \uBAA9\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0\uB9CC, \uC131\uB2A5 \uCE21\uBA74\uC5D0\uC11C \uC0C1\uB2F9\uD55C \uC624\uBC84\uD5E4\uB4DC\uB97C \uBC1C\uC0DD\uC2DC\uCF1C \uD1B5\uC0C1 \uBAA8\uB4E0 \uACBD\uC6B0\uC5D0 \uD56D\uC0C1 \uC218\uD589\uB418\uC9C0\uB294 \uC54A\uB294\uB2E4. \uC774\uC640 \uAD00\uB828\uD55C \uCEF4\uD30C\uC77C\uB7EC \uCD5C\uC801\uD654 \uAE30\uBC95 \uAC00\uC6B4\uB370 \uD558\uB098\uB294 \uBD88\uD544\uC694\uD55C \uACBD\uACC4 \uAC80\uC0AC \uCF54\uB4DC\uB97C \uC81C\uAC70\uD558\uB294 \uAC83\uC744 \uBAA9\uD45C\uB85C \uD558\uAE30\uB3C4 \uD55C\uB2E4. (Bound-checking elimination)"@ko . . "Sprawdzanie zakresu (ang. bounds checking) \u2013 ka\u017Cda metoda wykrywania czy nowa warto\u015B\u0107 zmiennej mie\u015Bci si\u0119 w zakresie zmiennej przed zapisem do niej, lub czy warto\u015B\u0107 kt\u00F3ra zostanie zaraz u\u017Cyta jako indeks do tablicy jest w granicach tej tablicy. Na przyk\u0142ad warto\u015B\u0107 32768 kt\u00F3ra mia\u0142aby by\u0107 przypisana do 16-bitowej zmiennej ze znakiem (kt\u00F3rej zakres to -32768 do +32767), lub dost\u0119p do 25 elementu tablicy w kt\u00F3rej zasi\u0119g prawid\u0142owych indeks\u00F3w to 0 do 9. Pierwszy przypadek to , a drugi to . Negatywne sprawdzenie zakresu zwykle powoduje wywo\u0142anie r\u00F3\u017Cnego rodzaju wyj\u0105tku. Poniewa\u017C sprawdzanie zakresu przy ka\u017Cdym odwo\u0142aniu si\u0119 do zmiennej lub tablicy jest czasoch\u0142onne, w niekt\u00F3rych aplikacjach nie przeprowadza si\u0119 tego sprawdzenia. Istniej\u0105 te\u017C specjalne techniki kompilacji umo\u017Cliwiaj\u0105ce eliminacj\u0119 sprawdze\u0144 zakresu w wielu cz\u0119stych przypadkach; zobacz eliminacja sprawdzania zakresu. Wiele j\u0119zyk\u00F3w programowania, takich jak C/C++, nigdy nie przeprowadza automatycznego sprawdzania zakresu, co jest umotywowane kwesti\u0105 szybko\u015Bci dzia\u0142ania programu. Jest to przyczyn\u0105 bardzo wielu b\u0142\u0119d\u00F3w off by one i przepe\u0142nienia bufora. Popularne j\u0119zyki wymagaj\u0105ce sprawdzania zakresu podczas dzia\u0142ania programu to Ada, Visual Basic, Java i C#. W j\u0119zyku D i wielu innych sprawdzanie zale\u017Cy od prze\u0142\u0105cznika kompilatora. C# pozwala na fragmenty kodu oznaczone unsafe, w kt\u00F3rych mo\u017Cna mi\u0119dzy innymi pomin\u0105\u0107 sprawdzanie zakresu i umo\u017Cliwi\u0107 u\u017Cywanie surowych wska\u017Anik\u00F3w do pami\u0119ci dla szybszego wykonania kodu. Jest to przydatne do optymalizacji niewielkich, a cz\u0119sto wywo\u0142ywanych fragment\u00F3w, bez obni\u017Cania bezpiecze\u0144stwa wykonania ca\u0142ego programu."@pl . . "\uACBD\uACC4 \uAC80\uC0AC(bounds checking)\uB294 \uBCC0\uC218\uAC00 \uC0AC\uC6A9\uB418\uAE30 \uC804\uC5D0 \uC5B4\uB5A4 \uACBD\uACC4 \uB0B4\uC5D0 \uC704\uCE58\uD558\uB294\uC9C0\uB97C \uAC80\uC0AC\uD558\uB294 \uAE30\uBC95\uC73C\uB85C, \uC8FC\uB85C \uC22B\uC790 \uB370\uC774\uD130\uAC00 \uD2B9\uC815 \uBC94\uC704 \uB0B4\uC5D0 \uC874\uC7AC\uD558\uB294\uC9C0 \uC5EC\uBD80\uB098 (\uBC94\uC704 \uAC80\uC0AC), \uBC30\uC5F4 \uAC00 \uBC30\uC5F4\uC758 \uACBD\uACC4 \uC548\uC5D0 \uC788\uB294\uC9C0 \uC5EC\uBD80\uB97C \uAC80\uC0AC\uD558\uB294\uB370 \uC0AC\uC6A9\uB41C\uB2E4 (\uC778\uB371\uC2A4 \uAC80\uC0AC). \uACBD\uACC4 \uAC80\uC0AC\uC5D0\uC11C \uC2E4\uD328\uD55C \uACBD\uC6B0 (\uAC00\uB839, \uC811\uADFC\uD560 \uBC30\uC5F4 \uC778\uB371\uC2A4\uAC00 \uBC30\uC5F4 \uACBD\uACC4 \uBC14\uAE65\uC5D0 \uC788\uB294 \uACBD\uC6B0)\uB294 \uBCF4\uD1B5 \uD504\uB85C\uADF8\uB7A8 \uC608\uC678\uB85C \uCC98\uB9AC\uB41C\uB2E4. \uACBD\uACC4 \uAC80\uC0AC\uB294 \uC8FC\uB85C \uCEF4\uD4E8\uD130 \uBCF4\uC548\uACFC \uAD00\uB828\uD558\uC5EC \uBA54\uBAA8\uB9AC \uCDE8\uC57D\uC810 \uBC1C\uC0DD\uC744 \uADFC\uBCF8\uC801\uC73C\uB85C \uBC29\uC9C0\uD558\uB294 \uBAA9\uC801\uC73C\uB85C \uC0AC\uC6A9\uB418\uC9C0\uB9CC, \uC131\uB2A5 \uCE21\uBA74\uC5D0\uC11C \uC0C1\uB2F9\uD55C \uC624\uBC84\uD5E4\uB4DC\uB97C \uBC1C\uC0DD\uC2DC\uCF1C \uD1B5\uC0C1 \uBAA8\uB4E0 \uACBD\uC6B0\uC5D0 \uD56D\uC0C1 \uC218\uD589\uB418\uC9C0\uB294 \uC54A\uB294\uB2E4. \uC774\uC640 \uAD00\uB828\uD55C \uCEF4\uD30C\uC77C\uB7EC \uCD5C\uC801\uD654 \uAE30\uBC95 \uAC00\uC6B4\uB370 \uD558\uB098\uB294 \uBD88\uD544\uC694\uD55C \uACBD\uACC4 \uAC80\uC0AC \uCF54\uB4DC\uB97C \uC81C\uAC70\uD558\uB294 \uAC83\uC744 \uBAA9\uD45C\uB85C \uD558\uAE30\uB3C4 \uD55C\uB2E4. (Bound-checking elimination)"@ko . "Sprawdzanie zakresu"@pl . . . . . "1105314615"^^ . . . . . . . . . . .