Արտահայտության հապավում Խնդիրը։ Տրված է ինչ-որ արտահայտություն, օրինակ, «Միացյալ ազգերի կազմակերպություն» և պահանջվում է սրանից ստանալ «ՄԱԿ» հապավումը։ Դպրոցականը կամ ուսանողը, հավանաբար, առաջին լուծումը կտանի այսպես. տողը դարձնել ցուցակ, հետո անցնել տողի վրայով ու հավաքել բոլոր այն տառերը, որոնց նախորդում են տառ չհանդիսացող այլ սիմվոլներ։ Հետո՝ հավաքած տառերը դարձնել մեծատառ ու միավորել մեկ տողի մեջ։ […]
Միակապ ցուցակի շրջելը ռեուրսիվ եղանակով
Մի քանի օր առաջ Լիլիթն ինձ առաջարկեց գրել միակապ ցուցակը շրջելու ֆունկցիան՝ օգտագործելով ռեկուրսիվ ալգորիթմ։
ինչպէս է մայքրոսոֆթը խաղից հանել ոչ իր կոմպիլյատորները
ինչպէս է մայքրոսոֆթը խաղից հանել ոչ իր կոմպիլյատորները՝ >մենք շատ նպատակաուղղուած էինք որպէսզի մեր Delphi եւ C++ կոմպիլյատորներով ստանանք WinRT֊ի համար կոդ։ Այս պահին խնդիրն այն է, որ այն ՕՀ API֊ները, որ անհրաժեշտ են քո լեզուի RTL֊ն իրականացնելու համար թոյլատրուած չեն։ Գիտէք, ասենք RtlUnwind֊ը բացառութիւնների մշակման կամ VirtualAlloc֊ն յիշողութեան կառաւարման համար… Այդ եւ նման ֆունկցիաներին […]
C++ | Յղումները եւ ցուցիչները ֆունկցիայում
Իմացայ, որ առաջինը օգտակար է եղել շատերին։ Սա էլ երկրորդն է։ Ընթացքում էլի թեմաների կ’անդրադառնամ։
C++ | Ցուցիչներ | Pointers
Ցուցիչների էությունը բացատրող տեսանյութ
malloc ֊ի անատոմիան։ Մաս 2, malloc ֊ի իրականացումը։
malloc/kmalloc/vmalloc ֊ընտանիքի ֆունկցիաները (համապատասխանաբար հիշողության ազատման ֆունկցիաներն են՝ free/kfree/vfree) նախատեսված են դինամիկ հիշողության հատկացման համար։ kmalloc ֊ն ու vmalloc֊ը օգտագործվում են միջուկի կոդում։ kmalloc -ը վերադարձնում է ցուցիչ ֆիզիկական հիշողության մեջ անընդհատ բլոկի վրա, այսինքն հիշողության տվյալ բլոկում բոլոր հասցեները ֆիզիկապես հաջորդում են մեկը մյուսին։ vmalloc֊ը նույնպես վերադարձնում է հիշողության անընդհատ բլոկ, բայց այն տարբերությամբ, որ այդ […]
malloc ֊ի անատոմիան։ Մաս 1, համակարգային կանչեր (system calls):
Թույլ տվեք առանց երկար֊բարակ նախաբանների միանգամից անցնել գործի 🙂 system call ֊ը ինտերֆեյս է, որը թույլ է user-space ծրագրերին դիմել օպերացիոն համակարգի միջուկին (ring 0 ) և պահանջել նրանից որոշակի գործողությունների կատարում, օրինակ ֆայլ բացել, դրա մեջ ինչ֊որ բաներ գրել, նոր պրոցեսս ստեղծել և այլն։ Այլ կերպ ասած, system call ֊ը միջոց է user mode […]
Կանչում ենք C ֊ական ֆունկցիաներ Assembler ֊ի կոդից:
Բոլորը գիտեն, որ C/C++ ֊ի կոդից կարելի է կանչել ասսեմբլերական հրամաններ inline assembler ֊ի միջոցով։ Պարզվում է, որ հակառակ կանչը ոչ միայն հնարավոր է, այլ նաև օգտագործվում է օպերացիոն համակարգի սկզբնական բեռնիչից (bootloader) միջուկի (kernel) կոդի թողարկման համար (քանի որ որպես կանոն օպերացիոն համակարգի բեռնիչը գրված է assembler֊ով, իսկ միջուկը C֊ով)․ ասսեմբլերի կոդից կարելի է […]
[գիրք] Զրույցներ C լեզվի մասին
Ես նախաձեռնել եմ այս զրույցների շարքը որպես C ծրագրավորման լեզուն ներկայացնող կենդանի գիրք։ Կենդանի այն իմաստով, որ զրույցների պարունակությունը երբեք վերջնական չի լինելու։ Տեքստն անընդհատ թարմացվելու է և լրացվելու է նոր նյութով։ Որպես առաջին քայլ, ես կպատմեմ ամենաանհրաժեշտ, ամենակարևոր նյութը ․․․
ասք վիշապին մակում բնակեցնելու մասին
ուրեմն, ուզում եմ մի քիչ գրել իմ մակօս֊ական փորձից։ որպէս դեւ, ով առաջին անգամ է այս օհ֊ի հետ աշխատում։ իմ հին ծանօթ աւստրալիացին իր մակի վրայ հաշիւ է բացել, որ կպնեմ, վոկ֊ը պորտ անեմ մակի։ նախ սիլանգից՝ ասեմ, որ այս գործիքն առաջին անգամ եմ փորձում, օգտւողի տեսակէտից ահագին յարմար է թւում։ Ոչ միայն տողն է […]