Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Malý test programování.

Aktivity
Avatar
zpavlu
Tvůrce
Avatar
zpavlu:12.9.2015 17:48

Naprogramovat podobné objekty, hodnocena velikost souborů a spotřeba paměti.
Testováno na Windows 10/32, netestováno pro 64bitů.

http://zpavlu.cz/…azka_exe.rar

Odpovědět
12.9.2015 17:48
PZ
Avatar
Richard
Člen
Avatar
Richard:12.9.2015 19:18

eeh.. a o co jde? Jen takhle ti nikdo kdejaký exečko stahovat nebude.. A už vůbec ne když k tomu není žádnej popis

Nahoru Odpovědět
12.9.2015 19:18
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
zpavlu
Tvůrce
Avatar
Odpovídá na Richard
zpavlu:12.9.2015 19:57

Popis řešení dodám, pokud bude mít několik účastníků zájem. Pro praktické použití to nemá význam, jde mi jen o to zda někdo najde řešení.
Jak to udělat nepředepisuji, je to myšleno jako zadání pro procvičení, takový malý test.
Pokud někdo přijímá zakázku, tak zadavatel neříká jak zadaný problém bude dotyčný řešit.
PZ

Nahoru Odpovědět
12.9.2015 19:57
PZ
Avatar
Richard
Člen
Avatar
Odpovídá na zpavlu
Richard:13.9.2015 4:01

Ty mi neorzumíš.. Uvědom si jak si to podal - upnul si exečko a napsal si k tomu že je to test programování a zadání úplně k ničemu.

To je popis jak kdybys tam napsal "hele čumte na to, stahujte je to hustýýý".
Nevíme v jakém jazyce, nevíme co to je, co se má s tim dělat, jediná instrukce je že to máme stáhnout a spustit a to ti nikdo rozumnej neudělá.

Nahoru Odpovědět
13.9.2015 4:01
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Richard
Martin Dráb:13.9.2015 13:16

Navíc těch EXE souborů je tam víc, takže člověk si ani (bez návodu) není jistý, který z nich se předpokládá, že spustí (nebylo nic řečeno, takže možná jeden bude za účelem implementace nějaké své funkce pouštět druhý atd.).

Pokud mám soudit z velikosti EXE souborů a za About boxu u color pickeru, psal jsi to v MASM (pokud jsi samozřejmě při volání funkce ShellAboutA zadal správný řetězec). Takže není divu, že budeš mít výhodu. Také je vidět, že jsi to psal v čistém Windows API (minimálně ten color picker), takže bych se nidivil, kdybys, co se týče spotřeby paměti a velikosti souborů, neměl problém vyhrát.

Nikdy jsem moc nechápal, proč v Assembleru psát GUI. Ano, je to malé a rychlé, ale dá to dost práce,, kterou je dle mě obvykle lepší investovat do vylepšení toho, co má aplikace reálně dělat. Pokud použiješ nějakou nativní GUI nadstavbu (VCLv Delphi, Qt), její rychlost je dostatečná, aby si uživatel nestěžoval (u Windows Forms (.NET) jsem si občas všiml, že je pomalé, ale a) už se asi dnes moc nepoužívá oproti WPF, b) nmoc se v tom nevyznám).

P.S.
Co se týče color pickeru, dnešní assemblery obvykle seberou i hexadecimální čísla začínející prefixem 0x, nemusí končit písmenem h.

P.P.S.
Úplně si tím MASM nejsem jistý, protože IDA HexRays Decompiler (testováno na color pickeru) neměl problémy s "překladem" kódu do C/C++. Což by mohlo naznačovat, že pokud jsi psal opravdu v Assembleru, zas tak moc jsi neoptimalizoval, jinak by to decompiler nezvládl (na druhou stranu se ti nedivím, když se optimalizuje, nedá se to pak číst).

Nahoru Odpovědět
13.9.2015 13:16
2 + 2 = 5 for extremely large values of 2
Avatar
zpavlu
Tvůrce
Avatar
zpavlu:13.9.2015 14:09

Odpovídám na Richarda a na Vrtule.
1) je to psáno v MASM 32.
2) Po přeinstalování na Windows 10 jsem si položil otázku zda program v MASM bude chodit na 10.Stáří
tohoto programu je myslím několik desítek let.
3) Proto jsem zkusil 4 různé objekty, jako důchodce jsem neměl co na práci.
4) V žádném případě jsem neměl za cíl něco vyhrát, trochu mi štvalo u některých jak se vychvalují znalostí
assembleru. (Znalost assembleru .....). Co asi dělali v dnešní době v assembleru?
5) Na začátku jsem napsal, že praktický význam to nemá, v tomto směru souhlasím s Martinem.
6) Možná chyba byla, že jsem neřekl, že je to napsané v assembleru.
7) Optimalisace nebyla žádná, ani překlad do C/C++ jsem nezkoušel.
8) Jako cíl jsem požadoval libovolný podobný program.

Tolik na vysvětlení.

Nahoru Odpovědět
13.9.2015 14:09
PZ
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na zpavlu
Martin Dráb:13.9.2015 14:17

Díky za vysvětlení.

Nahoru Odpovědět
13.9.2015 14:17
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.