Portál AbcLinuxu, 7. května 2025 01:02

ISO vydalo aktualizovaný standard C

ISO vydalo aktualizaci standardu jazyka C, známou také jako C1X. Zvyšuje tím kompatibilitu s C++ a přidává nové funkce. Mezi ně patří multithreading, static assertions nebo dodatečná makra pro získávání informací o plovoucích číslech. Navíc se standardizují některé věci, které už překladače implementovaly mimo standard.

23.12.2011 13:39 | Luboš Doležel (Doli) | Nová verze


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

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

23.12.2011 18:53 loki
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Odpovědět | Sbalit | Link | Blokovat | Admin
Nemate pls nekdo zkusenost, jaka je podpora tohoto standardu v gcc?
23.12.2011 19:14 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
malá. No, ve 4.7 už by možná mohla být na slušné úrovni.
23.12.2011 22:49 jehovista
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Odpovědět | Sbalit | Link | Blokovat | Admin
Jsem jediny, komu slovni spojeni "plovouci cisla" pripada dost divne?
23.12.2011 23:28 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
všechny tyto český názvy jsou divný .. "plovoucí čísla" "přetěžování operátorů" "spojový seznam" ...
23.12.2011 23:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Ono snad „plovoucí čísla“ nic ani není, snad nějaká hra, asi mělo být „čísla s plovoucí desetinnou čárkou“ nebo „čísla s plovoucí řádovou čárkou“ - ale, však víme vo co go…, a furt lepší než kdyby tam stálo „reálná čísla“.
Ale ano, některé překlady jsou fakt divné…
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
24.12.2011 17:18 Kvakor
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Ano, při použití termínu "reálná čísla" na jakoukoliv prezentaci čísel na počítači by měly každému matematikovi vztávat vlasy na hlavě (tedy pokud tam nějaké má). Nejlepší překlad je asi "čísla s plovoucí řádovou čárkou", sice "čísla s plovoucí desetinnou čárkou" je přesnější, ale ona čárka není většinou desetinná - i když norma IEEE 754 umožňuje použít exponent o základu deset, v naprosté většíně se používá exponent o základu dvě.

PS: Termín "plovoucí čísla" by se hodil leda tak do bistromatiky :-)
pavlix avatar 24.12.2011 23:01 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Ano, při použití termínu "reálná čísla" na jakoukoliv prezentaci čísel na počítači by měly každému matematikovi vztávat vlasy na hlavě (tedy pokud tam nějaké má).
Ale musí to být čistokrevný matematik, ne numerik či zároveň informatik, protože floating point je velice praktická aproximace právě reálných čísel.

Já už tu vlastně ani nejsem. Abclinuxu umřelo.
25.12.2011 00:56 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Doufám, že mu úplně stejně vstávají vlasy na hlavě při použití pojmu celá čísla, protože int má k číslům ze Z taky dost daleko (hint: integer overflow).
25.12.2011 12:07 Ash | skóre: 53
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Já jsem vůbec proti tomu, aby se to nazývalo čísla ;)
25.12.2011 12:47 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
To rozumný návrh, protože ani jedno není ani okruh, což bych od věcí, kterým říkám čísla, docela požadoval. Ale jak tomu říkat? Šmísla (shmoombers)?[*]

[*] Hele, slovo, které Google nemá v indexu. To se tak často nepodaří...
26.12.2011 11:19 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Já jsem tedy algebru nikdy moc nemusel, ale skoro bych řekl, že obvyklá reprezentace int je vlastně ℤ/ℤ[n] (typicky pro n=2³²), což za mých mladých let okruh býval…
26.12.2011 11:53 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Obvyklé implementace mohou být, ale dokud je přetečení signed int definováno standardem coby nedefinované, tak je to irelevantní. A někeré méně obvyklé implementace skutečně mají například saturující sémantiku, protože takhle to funguje v příslušném hardware.
28.12.2011 01:19 okolojdoucí
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Magor-e
25.12.2011 23:00 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Já jsem proti tomu aby se »TO« „nazývalo“.
…ale nevím, co mám s tím dělat…
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
26.12.2011 23:46 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Já jsem vůbec proti tomu, aby se to nazývalo čísla ;)
No jo jasně. Jako kdyby nikdo nevěděl, čím se liší počítačová čísla a matematická... Proč nezavést další zmatky. Uvědomte si, že by se musely přejmenovat i integers, na co byste je tak asi přejmenovali?

Vy budete asi ta sorta lidí, co na louce nevidí pampelišky, nýbrž smetánky lékařské a v restauraci si objedná vepřo, knedlo a hlávkovou odrůru brukve zelené :-D
26.12.2011 23:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
A vy budete asi ta sorta co: „nežere maso a proto nerozumí vtipu“ :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
27.12.2011 11:39 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
na co byste je tak asi přejmenovali?
Kdybys četl vlákno, ve kterém reaguješ, tak návrh už tu padl...
27.12.2011 16:32 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
To byl návrh na náhradu "numbers", ne "integers", nebo jo? Nevim. Je mi to jedno. Kdo chce vynalézat kraviny, prosím ;-)
24.12.2011 17:18 Program
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Občas mám pocit, že takovéto zprávičky píšou lidi, kteří neví absolutně o čem je řeč. "Čisla v plovoucí řádové čárce" jsou několik desetiletí ustálený pojem...
25.12.2011 12:08 Ash | skóre: 53
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Plovoucí čísla zní vážně hrozně, myslel jsem že to je něco úplně nového :D
24.12.2011 08:21 VM
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Odpovědět | Sbalit | Link | Blokovat | Admin
Netusite kde si to v klidu precist, aspon nejaky prehled hlavnich bodu? Na tom webu za stazeni chteji pomerne nemaly peniz.
andree avatar 24.12.2011 09:04 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
pavlix avatar 24.12.2011 23:03 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Přečti si místo standardu poslední návrh, který je v článku odkázaný.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
25.12.2011 12:07 isoc
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Odpovědět | Sbalit | Link | Blokovat | Admin
https://www.varnish-cache.org/docs/trunk/phk/thetoolsweworkwith.html
Josef Kufner avatar 25.12.2011 22:23 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Jo, mám z toho dosti podobný pocit.
Hello world ! Segmentation fault (core dumped)
26.12.2011 00:07 Martin Mareš
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Já tedy mám zrovna z tohohle článku pocit, že jeho autor normu četl jen velmi zběžně a nesnažil se ji pochopit.

Například _Noreturn je v podstatě nutnost – do jazyka, jehož klíčová slova jsou rezervovaná (tedy je zakázáno použít je jako identifikatory), nelze přidat klíčové slovo bez porušení zpětné kompatibility. Proto už C99 přidalo booleovský typ pod jménem _Bool (což nekoliduje, neboť jako identifikátor je to rezervované) a nabídlo <stdbool.h> pro ty, kdo ho chtějí používat s lidským jménem.

Podpora pro mutexy a spol. pravda není nic moc (i když timeouty bych jí zrovna nevyčítal, každé jejich použití je v zásadě scestné), ale třeba mít v jazyce atomické typu je docela milé.
26.12.2011 02:43 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
Zní to sice logicky, ale není. Ve chvíli, kdy se začaly v C množit všeliké kvalifikátory -- počínaje dnes pozapomenutými a překonamými register a volatile, dále const, auto, signed, long long, pokračuje inline a restrict, _Complex, až k nejnovějším _Alignas, _Noreturn a spol. (by mě zajímalo, co je zrovna na noreturn tak zásadního), tak dávno mělo někoho napadnout, že přidávání klíčových slov je zásadní problém a zavést jedno další klíčové slovo podobné __attribute__ z GCC, které v budoucnu umožní lepit k věcem nové kvalifikátory bez porušení kompatibility a umožňuje všechy ty stdnoreturn.h definující hezkou čitelnou verzi nových kvalifikátorů. Potom by zbyl v postatě akorát bool, který asi má nějaký důvod, proč je klíčové slovo a nestačí typedef int bool; enum { true, false };, jak to vždycky dělal autoconf na systémech, kde bool nebyl, ale ten důvod neznám.
26.12.2011 02:56 l4m4
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
OK, je zapotřebí, aby bool (nebo tedy _Bool) měl unikátní hodnotu true, na rozdíl od int, kde je to každá nenulová. I když reálné programy na tomto zjevně nestojí. Otázka je, zda to nešlo zařídit jinak.
27.12.2011 16:23 Martin Mareš
Rozbalit Rozbalit vše Re: ISO vydalo aktualizovaný standard C
[...] dávno mělo někoho napadnout, že přidávání klíčových slov je zásadní problém a zavést jedno další klíčové slovo podobné __attribute__ z GCC, [...]
Ono napadlo, jenže jim nejspíš také došlo, že tím se problém nevyřeší. Kdybychom řekněme místo klíčového slova signed zavedli __attribute__((signed)), mohlo by se snadno stát, že ho použijeme v nějakém standardním headeru, který si někdo includuje poté, co nadefinoval své vlastní makro jménem signed. Oops.

Aby takovéhle problémy nehrozily, musel byste psát něco jako __attribute__((__signed__)), a to už je lepší samotné _Signed.

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.