Knihy o C++ a assembleru

Knihy o C++ a assembleru
« kdy: 17. 09. 2019, 23:53:22 »
Pliis hladam knihu o STL https://www.martinus.sk/?uItem=30009

A dve knihy o assembleri https://www.martinus.sk/?uItem=24798 https://www.martinus.sk/?uItem=15298

Ak by ste jednu z nich mali a chcete ju predat tak navrhnite cenu. Vsade kde som pozeral je vypredana. Ja nechapem ze ak sa kniha vypreda preco ju nevedia vytlacit znova? Ved ak bola taka ziadana ze sa vypredala tak na nej mohli zarobit este viac. Alebo keby tu knihu predavali aspon ako ebook sice preferujem tlacenu verziu, ale ked neni k dispozicii tlacena tak aj ebook postaci.
« Poslední změna: 18. 09. 2019, 08:16:03 od Petr Krčmář »


Re:Knihy o C++ a
« Odpověď #1 kdy: 18. 09. 2019, 08:18:08 »
Ta C++ kniha je dost obsolete (15 let stara), proto se nevydava znova.
Jinak ji maj skoro v kazde technicke knihovne, muzes si ji pujcit.

Re:Knihy o C++ a assembleru
« Odpověď #2 kdy: 18. 09. 2019, 11:22:45 »
Co se týče C++, doporučoval bych něco, co vyšlo po vydání normy C++11, protože ta přinesla dost klíčové novinky (dalo by se říci, že i zásadní).

Obě knížky o Assembleru mám, ale nevím, zda je v dnešní době doporučit. V Mistrovství sice najdete spoustu Assembleru (hodně ale z dob Windows 9x/NT myslím, včetně tvorby VxD ovladačů), ale v drtivé většině případů se jedná o kód, který normální člověk stejně napíše v nějakém vyšším jazyce (C/C++).

Assembler pro PC je z tohoto pohledu fajn, ale téměř celá knížka se zabývá programováním v DOSu (kde se Assembler opravdu hodí). Jako úvod určitě fajn, ale musíte pak dané zanlosti sám přenést z reálného režimu procesoru do toho chráněného (z 16ti do 32/64 bitů), aby to dnes mělo nějaký smysl.

Re:Knihy o C++ a assembleru
« Odpověď #3 kdy: 18. 09. 2019, 18:59:20 »
Dakujem Vám za odpovede a ste si istí že sú tie knihy sú naozaj neaktuálne kniha o STL popisuje knižnice ktoré sú z 80% rovnaké ako pred 20 rokmi alebo sa mýlim?

Je mi jasné že tam chýbajú niektoré nové vychytávky ale ja už mám doma 4 knihy o C++ najhrubšia má 1100 strán a tam sú dostatočne opísané nové vlastnosti jazyka ale chcem mať čo najširší záber a preto hľadám aj niečo čo sa nebude venovať jazyku, ale špeciálne len STL a nič novšie som nenašiel. Rátam s tým že aktuálne veci si nájdem na internete ale občas keď človek leží v posteli tak si radšej otvorí knihu ako by mal googliť na tablete ktorý je ajtak každú chvíľu vybitý.

A čo sa týka toho assemblera beriem to len ako základ. Viem že procesory sa medzitým už zmenili a pribodlo veľa nových inštrukcií

Re:Knihy o C++ a assembleru
« Odpověď #4 kdy: 18. 09. 2019, 22:39:16 »
Souhlas, taky si myslím, že jako čtení před usnutím tradiční STL úplně stačí :-) Papírové knihy asi nedoporučím, ale nějaké online čtení snad ano...

Jedno konkrétní téma, které si vybavuji jako post-STL výdobytek, jsou "intrusive containers", dlouho zmiňované v souvislosti s alternativní C++ knihovnou Boost, která se tuším hodně zasloužila o novější verze standardu. (Takový střípek vytržený z kontextu.)

Osobně jsem si taky párkrát pohrál s assemblerem pomocí NASM - hlavně v DOSu a okrajově i pod Windows a v Linuxu. V DOSu tuším jednak nějaký "hello world" hello.com napsaný v čistém NASM, a pak primitivní knihovničky přilepené k projektíkům v djgpp, Borland C++ a možná v Borland Pascalu (ačkoli tam se tuším jednalo o inline assembler). Jsem spíš takový turista, ne že bych tomu rozuměl. Hrál jsem si s tím tu a tam až někdy kolem roku 2010 (moje průmyslová branže je dost retro) a šla mi hlava kolem, co všecko se dá dneska na internetu zjistit. V roce 1992 jsem měl akorát z místní knihovny Kernighan+Ritchie C a ze školy vzácnoct: manuál od Turbo Assembleru - na základě toho prakticky nešlo v DOSu napsat vůbec nic. Tzn. několik prostředí pro DOS, pak Windows, a Linux... každé to prostředí má jiný formát spustitelného bináru (v DOSu .COM a .EXE, Windowsí PE-COFF .EXE, linuxový .ELF) a potažmo jsou v každém prostředí jiné názvy povinných sekcí v ASM zdrojáku, a pokud píšete knihovnu pro "vyšší" jazyk, tak potřebujete znát taky jeho "volací konvenci funkcí". Osobně dávám přednost syntaxi "intel/microsoft" (NASM/TASM/MASM) před AT&T syntaxí (gas, gcc inline asm).

Konkrétně se válely svého času na University of Illinois materiály ke kurzu ECE390.

Jednak knížka "Art of assembly programming". Ta je momentálně živá zde (ta homepage je ohavná, ale nakonec to asi jde číst).
 
Druhak "lab manuál" (příručka k cvičením) - pamatuju si HTML podobu, ovšem dneska vidím zdrojáky ve formátu SGML, s Makefilem který z toho zřejmě umí vyrobit segmentované HTML.

Možná bych obě našel stažené v HTML někde u sebe na disku...

V dnešní době snad už ani nemá cenu se trápit s adresací segment:offset, která byla charakteristická pro 16bitové prostředí (DOS). Tzn. v dobách, kdy "640kB musí stačit každému" a pak se řešila oblast od 640 kB do 1 MB, kde se děly magické věci... Na tohle normální člověk už dneska ani nemá fyzický hardware, na kterém by si s DOSem nějak smysluplně pohrál. Stejně tak nemá asi cenu študovat služby BIOSu a DOSu (SysMan od Lízala a Hrůzy, Ralph Brown's Interrupt List). Před chvilkou jsem ale našel docela zajímavý NASM Tutorial pro 64bit prostředí.

Naučil jsem se naprosté základy té instrukční sady: jaké to má registry, nějaké to větvení / skoky / smyčky, jsem schopen podle dokumentace stlouct volací konvenci pro rozhraní s vyšším jazykem... a na stará kolena jsem narazil na skutečného pamětníka, který mi na kratičkém příkladu vysvětlil, jaký jsem zelenáč, jak se dalo úsporně programovat, multitaskovat v DOSu, při práci s interrupty třeba implicitně vrátit STI jako vedlejší efekt POPF apod.

Taky bych doporučil, zkusit sehnat IDA PRO (třeba poslední free verzi, tuším to byla 4.9) a zkusit se podívat do střev nějaké reálné binárce. Tam si člověk pocvičí asi hlavně ty volací konvence vyšších jazyků... Bohužel se dostávám k tomu, že při hraní s assemblerem nakonec nezbyde, než si sednout ke kompu a něco si zkoušet napsat nebo disassemblovat apod. Pasivní čtení knihy je dobré fakt spíš na to usnutí :-)


Re:Knihy o C++ a assembleru
« Odpověď #5 kdy: 19. 09. 2019, 10:53:14 »
Ahoj, zmíněnou knihu mám a můžu ji postrádat. Popravdě řečeno, nesouhlasím s tím, že je obsolete. Vnímavý čtenář v ní i dnes najde spoustu zajímavých věcí. Pokud máte zájem, dejte mi vědět.