RSSԲաժին: C և C++

Միակապ ցուցակի շրջելը ռեուրսիվ եղանակով

| Դեկտեմբեր 15, 2015 |
Միակապ ցուցակի շրջելը ռեուրսիվ եղանակով

Մի քանի օր առաջ Լիլիթն ինձ առաջարկեց գրել միակապ ցուցակը շրջելու ֆունկցիան՝ օգտագործելով ռեկուրսիվ ալգորիթմ։

Կարդալ ամբողջը

ինչպէս է մայքրոսոֆթը խաղից հանել ոչ իր կոմպիլյատորները

| Հոկտեմբեր 21, 2015 |
ինչպէս է մայքրոսոֆթը խաղից հանել ոչ իր կոմպիլյատորները

ինչպէս է մայքրոսոֆթը խաղից հանել ոչ իր կոմպիլյատորները՝ >մենք շատ նպատակաուղղուած էինք որպէսզի մեր Delphi եւ C++ կոմպիլյատորներով ստանանք WinRT֊ի համար կոդ։ Այս պահին խնդիրն այն է, որ այն ՕՀ API֊ները, որ անհրաժեշտ են քո լեզուի RTL֊ն իրականացնելու համար թոյլատրուած չեն։ Գիտէք, ասենք RtlUnwind֊ը բացառութիւնների մշակման կամ VirtualAlloc֊ն յիշողութեան կառաւարման համար… Այդ եւ նման ֆունկցիաներին […]

Կարդալ ամբողջը

C++ | Յղումները եւ ցուցիչները ֆունկցիայում

| Մայիս 19, 2015 |
C++ | Յղումները եւ ցուցիչները ֆունկցիայում

Իմացայ, որ առաջինը օգտակար է եղել շատերին։ Սա էլ երկրորդն է։ Ընթացքում էլի թեմաների կ’անդրադառնամ։

Կարդալ ամբողջը

C++ | Ցուցիչներ | Pointers

| Ապրիլ 27, 2015 |
C++ | Ցուցիչներ | Pointers

Ցուցիչների էությունը բացատրող տեսանյութ

Կարդալ ամբողջը

malloc ֊ի անատոմիան։ Մաս 2, malloc ֊ի իրականացումը։

| Մարտ 16, 2015 |
malloc ֊ի անատոմիան։ Մաս 2, malloc ֊ի իրականացումը։

malloc/kmalloc/vmalloc ֊ընտանիքի ֆունկցիաները (համապատասխանաբար հիշողության ազատման ֆունկցիաներն են՝ free/kfree/vfree) նախատեսված են դինամիկ հիշողության հատկացման համար։ kmalloc ֊ն ու vmalloc֊ը օգտագործվում են միջուկի կոդում։ kmalloc -ը վերադարձնում է ցուցիչ  ֆիզիկական հիշողության մեջ անընդհատ բլոկի վրա, այսինքն հիշողության տվյալ բլոկում բոլոր հասցեները ֆիզիկապես հաջորդում են մեկը մյուսին։ vmalloc֊ը նույնպես վերադարձնում է հիշողության անընդհատ բլոկ, բայց այն տարբերությամբ, որ այդ […]

Կարդալ ամբողջը

malloc ֊ի անատոմիան։ Մաս 1, համակարգային կանչեր (system calls):

| Մարտ 11, 2015 |
malloc ֊ի անատոմիան։ Մաս 1, համակարգային կանչեր (system calls):

Թույլ տվեք առանց երկար֊բարակ նախաբանների միանգամից անցնել գործի system call ֊ը ինտերֆեյս է, որը թույլ է user-space ծրագրերին դիմել օպերացիոն համակարգի միջուկին (ring 0 ) և պահանջել նրանից որոշակի գործողությունների կատարում, օրինակ ֆայլ բացել, դրա մեջ ինչ֊որ բաներ գրել, նոր պրոցեսս ստեղծել և այլն։ Այլ կերպ ասած, system call ֊ը միջոց է user mode ֊ից […]

Կարդալ ամբողջը

Կանչում ենք C ֊ական ֆունկցիաներ Assembler ֊ի կոդից:

| Մայիս 4, 2014 |
Կանչում ենք C ֊ական ֆունկցիաներ Assembler ֊ի կոդից:

Բոլորը գիտեն, որ C/C++ ֊ի կոդից կարելի է կանչել ասսեմբլերական հրամաններ inline assembler ֊ի միջոցով։ Պարզվում է, որ հակառակ կանչը ոչ միայն հնարավոր է, այլ նաև օգտագործվում է օպերացիոն համակարգի սկզբնական բեռնիչից (bootloader) միջուկի (kernel) կոդի թողարկման համար (քանի որ որպես կանոն օպերացիոն համակարգի բեռնիչը գրված է assembler֊ով, իսկ միջուկը C֊ով)․ ասսեմբլերի կոդից կարելի է […]

Կարդալ ամբողջը

[գիրք] Զրույցներ C լեզվի մասին

| Ապրիլ 6, 2014 |
[գիրք] Զրույցներ C լեզվի մասին

Ես նախաձեռնել եմ այս զրույցների շարքը որպես C ծրագրավորման լեզուն ներկայացնող կենդանի գիրք։ Կենդանի այն իմաստով, որ զրույցների պարունակությունը երբեք վերջնական չի լինելու։ Տեքստն անընդհատ թարմացվելու է և լրացվելու է նոր նյութով։ Որպես առաջին քայլ, ես կպատմեմ ամենաանհրաժեշտ, ամենակարևոր նյութը ․․․

Կարդալ ամբողջը

ասք վիշապին մակում բնակեցնելու մասին

| Մարտ 20, 2014 |
ասք վիշապին մակում բնակեցնելու մասին

ուրեմն, ուզում եմ մի քիչ գրել իմ մակօս֊ական փորձից։ որպէս դեւ, ով առաջին անգամ է այս օհ֊ի հետ աշխատում։ իմ հին ծանօթ աւստրալիացին իր մակի վրայ հաշիւ է բացել, որ կպնեմ, վոկ֊ը պորտ անեմ մակի։ նախ սիլանգից՝ ասեմ, որ այս գործիքն առաջին անգամ եմ փորձում, օգտւողի տեսակէտից ահագին յարմար է թւում։ Ոչ միայն տողն է […]

Կարդալ ամբողջը

Ծրագրի կարգաբերում gdb -ի միջոցով։

| Մարտ 16, 2014 |
Ծրագրի կարգաբերում gdb -ի միջոցով։

gdb -ն gnu նախագծի source code մակարդակի, բազմապլատֆորմային debugger է։ source code մակարդակը նշանակում է, որ  տվյալ debugger-ով կարելի է կարգաբերել միայն այն ծրագրերը, որոնք թողարկվել են արդեն բեռնված օպերացիոն համակարգում։ Բացի այդ source code debugger -ի դեպքում մեքենայական կոդի փոխարեն, տեսնում ենք ծրագրի ելակետային կոդը, որը կարող է գրված լինել ինչ-որ բարձր մակարդակի լեզվով, օրինակ՝ C/C++: Նկար 1։ cgdb […]

Կարդալ ամբողջը

83