chcel by som v assemblere naprogramovať pre win aplikáciu ale nechcem používať windowsové knižnice.. jednoducho vykreslovať pixel po pixly.. dá sa to? ak hej poznáte nejaký dobrý návod na to?
1. Z akého dôvodu? Lebo ak čisto zo srandy tak ver tomu že to sranda nebude ani trochu.
2. Nie som si istý, ale skôr sa prikláňam k názoru že sa to nedá, pretože prinajmenšom na vytvorenie okna musíš zavolať 2-3 win funkcie, lebo neviem o spôsobe ako by ti systém dovolil kresliť na plochu ktorú tvoj proces nevlastní, možno ak by si pristupoval priamo k bufferu grafickej karty, na čo zasa systém dosť možno zareaguje nepekne (v štýle memory access violation, alebo podobne).
3. Na základe všeobecného princípu: pokiaľ si nevieš vygoogliť ani len či sa to dá, tak pochybujem že sa ti to podarí aj keby si mal návod...
V x86 assembly som si odtočil jeden semester a na účely programovania nejestvuje snáď nič neefektívnejšie. Úplne primitívne programy (v C na 20-30 riadkov) sme v ASM mali na dvesto a viac, štruktúra taktiež strašná (takú hustotu jumpov by si asi nikde inde v živote nevidel).
Vedieť základy nejakého strojového kódu (napr. tú x86) sa hodí skôr na akýsi "všeobecno-inteligenčný" programátorský prehľad o tom, ako funguje CPU na tej najnižšej úrovni, ale nie na písanie niečoho (leda tak útržky kódu embedované do C-čka alebo inde kvôli rýchlosti operácií s registrami cez strojový kód, tuším napr. XOR alebo shift/rotate). Už aj preto, že assembly píšeš nie "pre Win", ale špecificky ešte pre procesor(ovú architektúru), neexistuje tam univerzálna portabilita ako pri vyšších jazykoch, kde sa vlastne staráš len o compiler.
Iný význam to naberá, ak robíš / chceš robiť disassembling - práve pre ESET a podobných.
Roleta je špeciálny inkognito mód, ktorým skryješ obsah obrazovky pred samým sebou, alebo inou osobou v tvojej izbe (napr. mama). Roletu odroluješ tak, že na ňu klikneš.
6 komentov
stale sa vymyslaju vyssie a abstraktnejsie jazyky, naco ti je asm vo win? a este s takou samovrazednou ulohou?
1. Z akého dôvodu? Lebo ak čisto zo srandy tak ver tomu že to sranda nebude ani trochu.
2. Nie som si istý, ale skôr sa prikláňam k názoru že sa to nedá, pretože prinajmenšom na vytvorenie okna musíš zavolať 2-3 win funkcie, lebo neviem o spôsobe ako by ti systém dovolil kresliť na plochu ktorú tvoj proces nevlastní, možno ak by si pristupoval priamo k bufferu grafickej karty, na čo zasa systém dosť možno zareaguje nepekne (v štýle memory access violation, alebo podobne).
3. Na základe všeobecného princípu: pokiaľ si nevieš vygoogliť ani len či sa to dá, tak pochybujem že sa ti to podarí aj keby si mal návod...
V x86 assembly som si odtočil jeden semester a na účely programovania nejestvuje snáď nič neefektívnejšie. Úplne primitívne programy (v C na 20-30 riadkov) sme v ASM mali na dvesto a viac, štruktúra taktiež strašná (takú hustotu jumpov by si asi nikde inde v živote nevidel).
Vedieť základy nejakého strojového kódu (napr. tú x86) sa hodí skôr na akýsi "všeobecno-inteligenčný" programátorský prehľad o tom, ako funguje CPU na tej najnižšej úrovni, ale nie na písanie niečoho (leda tak útržky kódu embedované do C-čka alebo inde kvôli rýchlosti operácií s registrami cez strojový kód, tuším napr. XOR alebo shift/rotate). Už aj preto, že assembly píšeš nie "pre Win", ale špecificky ešte pre procesor(ovú architektúru), neexistuje tam univerzálna portabilita ako pri vyšších jazykoch, kde sa vlastne staráš len o compiler.
Iný význam to naberá, ak robíš / chceš robiť disassembling - práve pre ESET a podobných.