abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 00:33 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje na kritickou zranitelnost ve WordPressu umožňující vzdálené spuštění libovolného kódu. Prakticky se jedná o kombinací dvou různých zranitelností (Directory Traversal a Local File Inclusion), pro jejichž úspěšné zneužití musí útočník získat v rámci instance WordPressu alespoň oprávnění autora.

Ladislav Hagara | Komentářů: 0
včera 17:33 | Nová verze

Po dvou a půl letech od vydání verze 5.0.0 byla oficiálně vydána nová major verze 6.0.0 správce digitálních fotografií a nově i videí digiKam (digiKam Software Collection). Přehled novinek i s náhledy v oficiálním oznámení. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 00:44 | Komunita

Do 2. dubna se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 20. května do 20. srpna 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 1
včera 00:11 | Bezpečnostní upozornění

Byly zveřejněny informace o o bezpečnostní chybě CVE-2019-6454 ve správci systému a služeb systemd (PID 1). Běžný uživatel jej může shodit připravenou D-Bus zprávou. V upstreamu je chyba již opravena [reddit].

Ladislav Hagara | Komentářů: 3
18.2. 22:44 | Nová verze

Byla vydána nová verze 2019.1 průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek v changelogu. Vývojáři zdůrazňují Linux 4.19.13 a díky němu opětovnou podporu Banana Pi a Banana Pro, aktualizaci nástrojů jako theHarvester nebo DBeaver a Metasploit Framework ve verzi 5.0. Aktualizovat Kali Linux lze pomocí příkazů "apt update && apt -y full-upgrade".

Ladislav Hagara | Komentářů: 0
18.2. 13:33 | Zajímavý článek

Craig Loewen se v příspěvku na blogu Microsoftu věnuje novinkách ve WSL (Windows Subsystem pro Linux), které přinese Windows 10 1903. Jedná se především o možnost přístupu z Windows (Průzkumník souborů, explorer.exe) k souborům v nainstalovaných linuxových distribucích. Použit je protokol 9P.

Ladislav Hagara | Komentářů: 10
18.2. 10:44 | Zajímavý software

Byl vydán Hangover ve verzi 0.4.0. Jedná se o součást projektu Wine umožňující spouštět Windows aplikace pro x86 a x86_64 na architektuře ARM64 (AArch64). Zdrojové kódy této alfa verze jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 1
17.2. 03:00 | Nová verze

Byla vydána nová major verze 3.0.0-1 linuxového prostředí pro operační systémy Windows Cygwin (Wikipedie). Přehled novinek v oficiálním oznámení.

Ladislav Hagara | Komentářů: 6
17.2. 02:00 | Nová verze

Byl vydán Debian 9.8, tj. osmá opravná verze Debianu 9 s kódovým názvem Stretch. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Předchozí instalační média Debianu 9 Stretch lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
15.2. 12:33 | Pozvánky

Příští týden bude na MFF UK zahájena série přednášek o architektuře a implementaci operačních systémů. Mezi přednášejícími budou odborníci z firem Kernkonzept, Oracle, Red Hat, SUSE či SYSGO. Pokud si chcete rozšířit obzory (virtualizace, ptrace, ZFS, kdump, ...), vyberte si z harmonogramu téma, které vás zajímá a přijďte. Přednášky se konají každý čtvrtek od 15:40 v učebně S4 na Malostranském náměstí 25 v Praze. Přednášky jsou přístupné veřejnosti (registrace není nutná), studenti UK a ČVUT si je mohou zapsat jako standardní předmět.

Vojtěch Horký | Komentářů: 19
Máte v desktopovém prostředí zapnutou zvukovou znělku po přihlášení se do systému?
 (7%)
 (1%)
 (90%)
 (1%)
Celkem 353 hlasů
 Komentářů: 11, poslední 14.2. 07:59
Rozcestník
Štítky: není přiřazen žádný štítek

Vložit další komentář
xxx avatar 30.6.2018 12:22 xxx | skóre: 42 | blog: Na Kafíčko
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Neni tam to goto nahodou proto, ze jedna z tech iteraci prekladace neumela vnorene cykly?
Please rise for the Futurama theme song.
30.6.2018 17:35 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Mě přijde, že tam je ten goto protože ta verze C ještě neumí break, ono by to dávalo smysl, ten break bude jen symbolické pojmenování skoku na konec switch bloku.
1.7.2018 11:12 Pavel Křivánek | skóre: 28 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
break tato verze C už umí. Jak v cyklech, tak ve switchi
Mír je, když se střílí jinde.
30.6.2018 12:42 Miloslav Ponkrác
Rozbalit Rozbalit vše PDP-11 C
Ač sem normálně nepíši, u výjimečně kvalitních článků, jako je tento, dělám výjimku.

Je škoda, že jste si nevšimli řady artefaktů u PDP-11 C. Například striktích mezer kolem přiřazování. Protože x = -x je to co čekáte. Složené přiřazovací operátory byly převrácené, takže x=-x je ve skutečnosti dnešní x -= x.

Zároveň je vidět, že nic nebylo přenositelné, což je jev, který do značné míry C zůstal v řadě špatných návyků Céčkových programátorů. Třeba v té funkci printf se volně zaměňuje int a pointer, což řada programátorů dělá dodnes - je to děsně frajerské a připomíná to systémové programovánání - ač si velice snadno natlučou nos.

Absence čehokoli jiného než signed integer způsobila, že máme takové ptákoviny v C/C++, jako jsou záporné kódy znaků ve vyšší polovině znakové tabulky.

Absolutně se nepočítalo s tím, že by C mohlo kdy chodit na něčem menším, než jsou 32bitové procesory. I proto se univerzální int považovalo za absolutně dostatečné pro všechno.
30.6.2018 16:57 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: PDP-11 C
Absolutně se nepočítalo s tím, že by C mohlo kdy chodit na něčem menším, než jsou 32bitové procesory. I proto se univerzální int považovalo za absolutně dostatečné pro všechno.
Kdyby tak Ritchie umel cist z hvezd, ... a vedel, kde se C bude pouzivat za 40 nebo 50 let.

Jeden z duvodu, proc se dostalo C takove uspechu a pouziva se dodnes, je, ze bylo navrzeno jako nastroj, ktery mel resit konkretni problem (implementaci unixu) a ne jako univerzalni reseni vsech problemu.
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
30.6.2018 18:25 Radovan
Rozbalit Rozbalit vše Re: PDP-11 C
"že by C mohlo kdy chodit na něčem menším, než jsou 32bitové procesory"

Proto ho napsali na 16bitovém PDP-11.
děkuji za doplnění
Mír je, když se střílí jinde.
30.6.2018 17:36 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Ty napevno daný parametry printfu :-D. [joke] va_arg to tehdy asi neumělo co? [/joke]
30.6.2018 18:14 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Za me naprosto elegantni reseni (pro tu dobu). Nepotrebujes zadny kod navic a usetris drahocenou pamet i strojove cykly.
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
xxx avatar 30.6.2018 18:30 xxx | skóre: 42 | blog: Na Kafíčko
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Srandicky, srandicky, ale potkat takhle napsenej debug_print neni v embedded svete zas tak neobvykla zalezitost.
Please rise for the Futurama theme song.
1.7.2018 06:21 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Jj však i já takhle občas debug_print píšu :-D. Mě ale spíš zarazilo, jak se vlastně teda dělal printf s třeba jen dvěma argumentama (formát a proměnná), to šlo volat funkci s jiným počtem parametrů?
1.7.2018 08:42 Gilhad | skóre: 20 | blog: gilhadoviny
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Prinejhorsim jsi tam doplnil prislusny pocet nul a ono je to zignorovalo pote, co naplnilo posledni %neco ve formatu. Ale mozna to meli nejak fikane osetrene, jako ze se pro nepouzite promenne pouzily nahodne hodnoty, co zrovna byly na zasobniku (ci v registrech, nebo kde se ty promenne predavaly) - ono se to docela dobre mapuje na nektere ASM instrukce (jako posunuti SP o danou hodnotu a potom RET s danou hodnotou, ktery ho zase posune zpatky.)

Pak by prislusne promenne byly v tele funkce dostupne, i kdyz s neprirazenou (tedy nahodnou) hodnotou a nic by ti nebranilo je tam pouzivat, pokud by to davalo smysl. (Treba bys mel u nejake jine funkce konvenci, ze kdyz je x1==0, tak se i x2 a x3 nastavi na nulu, jinak obsahuji parametry pro vypocet - a vypocet uz by pouzival x1, x2 a x3 s tim, ze jsou definovane, protoze prece bys to nevolal blbe, ze. A mohl by jednoduse zahrnovat vic pripadu ... s tim, ze se x2 a x3 pouzivaji a treba v cyklu zvetsuji o nejakou hodnotu a na konci vypisou ...)
1.7.2018 10:59 Pavel Křivánek | skóre: 28 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
printArgs(var1, var2, var3)
{
	printff("args: %d %d %d\n", var1, var2, var3);
}

main(argc, argv)
int argv[]; {
	printArgs(1);
}
vypíše args: 1 0 16402

Jen hádám, že prostě v rámci funkce brali argumenty přímo z paměti relativně k vrcholu SP a uklid zásobníku se staral ten, kdo prováděl volání.

Mír je, když se střílí jinde.
1.7.2018 17:15 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Jo taky mě to tak připadá, dobrá betaverze jazyka :-D.
1.7.2018 20:18 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Právě proto byla zrovna takhle céčková volací konvence navržena a funguje tak dodnes. Tedy až na to, že modernější ABI předávají prvních několik parametrů v registrech - např. na x86_64 je jich šest (%rdi, %rsi, %rdx, %rcx, %r8, %r9). Ale i pak pořád platí, že pokud volající předá víc parametrů, než si volaný myslí, že jich má být, bude to stejně fungovat (pokud souhlasí typy).
30.6.2018 23:33 sad
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
12.7.2018 13:18 .
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Tak schválně se nad tou otázkou proč getchar vrací int ještě jednou zamysli.
12.7.2018 21:16 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Na chybové hodnoty by mohl vracet klidně i signed short :-P.
13.7.2018 04:54 Radovan
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Jenže on nevrací chybové hodnoty, ale znak nebo EOF. Což je 257 stavů, pokud teda nepracuješ výhradně se sedmibitovým ASCII.
13.7.2018 18:58 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
RTM:
or EOF on end of file or error
Každopádně rozumíme si. Prostě víc stavů než 256.
14.7.2018 02:07 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Neznám platformu, kde by signed short (o kterém se píše v komentáři, na který jste odpovídal) pro reprezentaci 257 různých hodnot nestačil.
14.7.2018 06:31 Radovan
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Tak to bych chtěl vidět ty tvoje platformy, protože já na těch co znám do osmi bitů 257 různých hodnot opravdu nacpat nedokážu :-D
14.7.2018 14:19 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Tak třeba gcc na i386, x86_64, ppc, ppc64, ppc64le, s390, s390x, armv7l, aarch64, … na všech má typ signed short 16 bitů, což na 257 různých hodnot bohatě stačí. Zato na příklad nějaké, kde by měl 8 bitů, vzpomínám marně. (Ale možná se nějaká taková kdysí dávno opravdu používala.)
15.7.2018 12:23 Radovan
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
A jak to bylo na PDP-11, kde UNIX vznikl?
15.7.2018 16:40 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)

Tady osobní zkušeností posloužit nemohu, ale Kernighan a Ritchie ve své knize uvádějí, že to bylo… 16 bitů. A ani na žádném dalším systému, které uvádějí jako příklad v téže tabulce (Honeywell 6000, IBM 370, Interdata 8/32), nemá short méně než 16 bitů - a už vůbec ne tak málo, aby nestačil k zápisu 257 různých hodnot. (Abychom byli úplně přesní: na Honeywell 6000 má char 9 bitů - ale short 36, takže pořád ostře větší.)

Takže se zeptám přímo: víte vy o nějaké reálně používané platformě, kde by měl datový typ short (resp. signed short) méně než 9 bitů?

15.7.2018 17:19 Kate | skóre: 8
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Teď jsem se jen tak cvičně koukla na Power C na Commodore 64 a taky 2 byty. Taková platforma asi fakt existovat nebude :)
15.7.2018 19:20 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Já to bral z wikipedie, kde píšou pro signed short at least [−32,767, +32,767].

Ale zase ve světle toho novějšího blogpostu s ascii, kde to pro 128-255 podteče/přeteče by možná stačil i signed char.
17.7.2018 18:31 Radovan
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Není nic jednoduššího, než si osobní zkušenost pořídit: http://pdp11.aiju.de ;-)
18.7.2018 21:11 Martin Mareš
Rozbalit Rozbalit vše Re: Historické kompilátory jazyka C na vlastní kůži (1)
Důvod je poměrně jednoduchý: v Céčku nemá valný smysl definovat funkci, která vrací cokoliv menšího než int, jelikož její výsledek se díky integer promotions stejně okamžitě přetypuje na int. Vracet menší typ má smysl spíš jako dokumentace, případně to občas (třeba v případě booleovského typu) pomůže optimalizacím založených na rozsazích hodnot.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.