КомпютриПрограмиране

"Какво е това" това е в стека, "че той" се върна: абстрактна основа на реалността

Може би в някакъв бъдещ изчислителна бизнес забравите за единици и нули, и процесори няма да работят на байтове и думи, но засега всичко е представена двоичен свят и живеят по неговите правила. Какво е стека и за кого се отнася - е вероятно да бъде абсолютно ясно. Още в началото на външния му вид е първият регистър, както и логиката на работата му е в нужда от памет. В резултат на прости идеи стека ", че тя" се превърна в де факто ", ако е необходимо."

Функция процесор, двоична логика

Процесорът контролира паметта и внедрява циклична логика изпълнение на код. В програмата - една или набор от функции, които представляват последователност от операции: да се избере нещо, което да се направи това е да се сложи нещо. Операционна система - един и същи код, по-отговорно: той е възложено да изпълнява и контролира други програми.

Всъщност функция (алгоритъм независим елемент) - само последователност от двоични операции. Програмата се различава от функцията, която се осъществява и координира други части на кода.

Прието дизайн алгоритъм като поредица от отделни и различни елементи. Всеки носи своя собствена (обикновено само една) функция - тя е удобна за отстраняване на грешки, визуална, практично. Тази програма позволява да се опрости процеса на развитие, за да се създаде библиотека от алгоритми и да ги използват и в други проекти.

Изпращане и връщане управление

Програмата нарича функция, минавайки го данни, изчислява резултата. Тъй като изпълнението на друга част на кода започва от външната страна, защото контролът на връщане следва да се извърши на следващата покана за работа. Този механизъм е предвиден по реда на изпълнение на код и постигането на резултати по програмата като цяло.

Код е зареден в паметта и се изпълнява последователно. За да извикате функция (друга част от кода на страната), се използва стека. Какво е това? Памет (и указател към него), който се различава от обикновения с това, че всеки следващ елемент се поставя върху предишната. Защото, за да се получи всеки, който е по-долу, трябва да се предприеме, за да работят и всички, които са в него. Pointer винаги сочи към текущата позиция в стека.

Първоначално стека получава обратен адрес - адреса след операцията на повикване. След това да се сложи всички необходими данни за нарича функция. В нарича функция избира данните, да ги обработва и генерира контрола резултатът се връща към последния елемент на стека. Екип: "го стека" се движи курсора към предишната дал, и сте избрали "тя" отива на обработка.

Регистри AX, BX, CX, DX, EX превърна в символ на началото на ерата на информационната епоха, но на СП и СС - е основната му талисман. Как да използвате купчина програмиране? Примери от миналото няма да бъдат паметници на архитектурата от началото на ерата. Stack влезе в бинарен свят, заедно с думите "функция" и "рекурсия" и изчезна в общата логика на програмирането практика.

Сервирайте на данните да се реши какво да се прави

Стифиращ се механизъм позволява на множество обаждания на различни части от кода, включително рекурсията: функция се нарича. Има природни ограничения: размерът на паметта на стека и код трябва да бъде достатъчна. Ако програмата е правилна, след изпълнението му ще бъде стабилен, трансфер / връщане управление - точна.

Stack е пълна, тъй като плочите се намират в една купчина, която се изпраща към слагам масата. Съдбата на плочите, което е тяхното съдържание, е решен на място, където тя се предава. Според логиката на взаимодействие, екипът "комин, то" дава предварително уговорено това между тези, които нарича, и тези, които той нарича. След приключване на процеса, че е важно да се върне контрола на адреса, следващ този, който е изпратил купа на масата.

Много прост и ефективен логика. Какво е на масата, като се вземе решение - той функционира като той отива с констатациите - своята загриженост от това, което в таблицата, че ще изпрати купчина от данни - неговата грижа, най-важното е винаги да се върне контрола за следващото предизвикателство за операцията. Функцията може да се нарече само ако признава, рекурсия, но рекурсия е възможно само ако данните попадат в стека.

Основният извличане

Когато необичайно и става основа на практическа гледна точка, на практика, ние можем да очакваме да бъдат обективни, и дълъг живот на последните. Купчина плочи ражда стека, а стека условие работни процесори, операционни системи, програми, функции и високотехнологичен сектор като цяло.

Класически случай беше в основата на един прост, но рядък случай, когато тя може да бъде направена оценка, без празни спорове за синтактични, семантиката, програмиране договорености и приоритетите в борбата за оцеляването на езика на.

Отчасти като беше в клетката на паметта, и тя е останала и до днес, но това е идеята на това се е променило. Уверено минаваща през гъстите силно типизиране, сега те твърдят, че нещо може да бъде всичко и задръжте в реалната памет на нищо, защото вече е доста важно.

Оператори за присвояване, условия, вериги, блокове ... трансформирани много по-малки от гледна точка на неговото значение, както и синтаксисът за дълго време, не е от значение. Борба за идеалите на езици за програмиране не се дава шанс да спечелите една от тях. Инструменти (съставител / преводач / обвивка) е длъжен да просто да работят, да е стабилен и пълнофункционален, и как и какво да пиша / употреба - да се грижи за програмист, а не на езика на автора.

Stack е придобил ново значение в общия процес на разработване на идеи и технологии. Променливите във формата, в която те са удобно наложени едно над друго, както и алгоритми и оператори са включени в един друг. Често можете да чуете за протоколния стек, когато човек дава различна работа.

Stack, функционалност и рекурсия - не синоним, но те перфектно се допълват, което ви позволява да създадете уникални версии на подаването и обработката на информация.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bg.atomiyme.com. Theme powered by WordPress.