Portál AbcLinuxu, 5. května 2025 14:54

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

Vložit další komentář
28.6.2007 00:16 Andy | skóre: 18 | NMnMet
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Odpovědět | Sbalit | Link | Blokovat | Admin
s/samy/sami
Válka je vůl ... a já taky ;) | Chaotic state of my influence.
28.6.2007 00:18 Andy | skóre: 18 | NMnMet
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
beru zpet.. to je ostuda, uz nebudu pit
Válka je vůl ... a já taky ;) | Chaotic state of my influence.
28.6.2007 00:39 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Odpovědět | Sbalit | Link | Blokovat | Admin
Proto Larry Finger nedávno představil novou verzi svého návrhu na mechanismus, který by Linuxu umožnil provozovat bezdrátové adaptéry v souladu s právními požadavky
Předpokládám, že si výrobci HW najdou jinou výmluvu, oblíbené jsou třeba smlouvy s třetími stranami.
Quando omni flunkus moritati
28.6.2007 13:19 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Odpovědět | Sbalit | Link | Blokovat | Admin
Jde o ne-NULL hodnotu, která se tváří jako normální ukazatel, ale způsobuje chybu při každém pokusu o zrušení odkazu na ni [dereferencing].

Nejsem si jistý, jaký je oficiální český výraz pro deferencing, asi bych napsal použití (nebo klidně dereferencování, ať si obrozenci prskají), ale zrušení to nebude zcela určitě.

28.6.2007 13:51 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Je-li referencing odkazování, tak jsem myslel, že dereferencing bude "ododkazování" (tj. opak). Ale teď jsem ještě ve slovníku našel, že dereferencing může být nepřímý odkaz. V tom případě (a vzhledem k tomu, že navrhuješ překlad "použití") si však nejsem jistý skutečným významem té věty.
28.6.2007 14:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007

Referencing má význam spíš "odkazovat se na něco". Dereferencovat pointer znamená prostě použít hodnotu, na kterou se odkazuje. V daném kontextu to znamená, že

  char* p = kmalloc(...);
  char c = *p;

způsobí chybu.

29.6.2007 10:28 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Já jen přidám, že mnohé dnešní jazyky mají automatickou dereferenci (např. druhé x v céčkovém příkazu x=x+1;), takže možná proto mají lidé problém pochopit ukazatele :)
29.6.2007 10:41 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
To není dereference, poněvadž to x není reference. ;-) Hmm, někteří lidé zase mají problém pochopit bindingy. :-)
1.7.2007 22:05 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
Ale je. Jen to pred vami prekladac ume skryva. Drive bylo bezne, a i dnes existuji jazyky, kdy se muselo psat cosi jako x=!x+1. Jiste sam citete, ze leve x je misto v pameti, kdezto prave x je hodnota.

Nejsem expert na jazyky, ale me tento jev ucili pod pojmem implicitni dereference. Mozna ze mluvime o teze veci.
1.7.2007 22:18 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
Podívejte se někdy na nějaký lispovský kompilátor. Pak uvidíte, že od jména proměnné k hodnotě podle situace mohou vést nula až dva pointery. Má pak ještě smysl hovořit o nějakých dereferencích? Jisté je jen to, že některé přístupy k datům na úrovni strojového kódu jsou nepřímé. Ale na úrovni jazyka, tam je jen binding. A binding je a scope jsou všechno, co programátora po většinu času zajímá.
1.7.2007 22:26 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
A ještě k tomu Cčku: To druhé x je buď fetch z paměťové adresy SP-<konstantní_offset>, nebo v lepším případě je v danou dobu už v registru. Ve druhém případě nemá ani adresu v paměti. Tehdy není vůbec třeba dereferencovat, a to ani implicitně. Pokud použiju &x, pak ho v té paměti kompilátor zřejmě ponechá, ale to už jsem měřením ovlivnil mnohdy mlhavou realitu. :-)

Mimochodem, máte příklad takových jazyků? Rád bych konkrétní názvy, abych si mohl něco dohledat.
4.7.2007 21:40 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
Jistě že v praxi překladače optimalizují, takže proměnná třeba přežije v registru a na zásobník se vůbec nedostane. Nicméně já se bavím o jazyku jako takovém (ne o překladači) a co jazyk programátorovi nabízí.

Implicitní dereference je jeden z druhů koerce. Čerpám z přednášek p. Škarvady, který vše přednáší z hlavy, takže jediné na co mohu odkázat, jsou zápisky jednoho studenta tamtéž odkazované (strana 77 a 99). Ten vykřičník mám vypůjčen z jazyka ML.

Mimochodem Google na implicit dereferencing vrací hned na prvním místě článek nadepsaný C has a lot of implicit dereferencing. To the right of each…
5.7.2007 02:00 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
Tak zrovna tahle stránka je poněkud "divná". i = deref(i) + 1 - to přeci nedává smysl, ne? Buď je levé i adresa, když je třeba ho dereferencovat, nebo pravé i dereferencovat vůbec nejde, ne? Taky nemůžu napsat p_i = *p_i + 1 (nebo můžu, ale bude to nesmysl). Buď to, nebo je chápání operátoru přiřazení autorem poněkud divné. Nebo mě jen možná mate vysoce abstraktní sémantika places v Lispu, kde se fakt jen šoupe s obsahem přihrádek. :-)
5.7.2007 15:28 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jaderne noviny - 6. 6. 2007
Rovnítko znamená uložení na adresu. Kdežto plus značí sečtení dvou hodnot. Proto je nutné pravou proměnnou derefercovat – načíst hodnotu uloženou v paměti na adrese i a do levé proměnné zapsat – zapsat na adresu i.

Přirovnání s explicitní dereferncí v C je neštastné, protože tam dochází na pravé straně k dvojí dereferenci. Nejprve se vezme hodnota na adrese p_i (1.) a pak se z této hodnoty udělá adresa a znovu se dereferencuje hvězdičkou (2.).

Zkuste si vzít příkazy i = i; a i = 1;. Přiřazovátko je typu (proměnná)=(hodnota). V prvém případě musím vyhodnocovat adresu i, v druhém nemusím. Tento krok navíc, který uživatel nemusí zapisovat, se nazývá implicitní dereference. Pokud by tomu tak nebylo, byl by příkaz 1 = 1 v pořádku, což jistě není. C je tímto prolezlé, tudíž práce s ukazateli a explicitní dereference (a reference) se v učebnicích vysvětluje, kdežto implicitní derefernce se bere za samozřejmost.

Do stejné kapitoly patří implicitní type casting. Např. int i; long int j; i + j; V tomto případě programátor nemusí nic řešit. V C by snad i prošlo, kdyby jeden z nich byl float. Avšak v jazycích, které umožňují parametrický polymorfimus (např. C++), by již podobné výstřelky mohly vyjít pěkně draho.

Implicitní derefencování striktně rozlišuje mezi hodnotou a proměnnou. Proměnnou považuje za ukazatel do paměti, kde hodnotu ukazatele, adresu, nelze programátorsky změnit (něco jako const * int, jenže tady dochází k dvojí dereferenci).

Pokud mluvíte o Lispu, tak je třeba mít na paměti, že se jedná o funkcionální jazyk. A takové jazyky a zvláště ty, které se snaží o referenční transparentnost, si mohou dovolit mnoho zjednušení a předpokladů, co se týče vyhodnocování výrazů.
rADOn avatar 28.6.2007 13:48 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše C chybicka se vloudila
Odpovědět | Sbalit | Link | Blokovat | Admin
dereferencing neni zrušení odkazu ve smyslu mazani ale prevod ukazatele na odkazovanou hodnotu.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
28.6.2007 15:25 test
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Odpovědět | Sbalit | Link | Blokovat | Admin
"Někteří výrobce zjevně věří, že by mohli " vyrobce -> vyrobci.

Jsem pro "dereferencovani", popisovačů souborů => file descriptoru, nízkoúrovňové komunikaci => low-level komunikaci, jmenný prostor => namespace, nové systémové volání => novy system call, příznaky => flagy, atd. atd.

Neni mozne, aby v odbornych clancich o IT nebyly veci nazyvany pravymi pojmy.

------------ ...a obrozenci at se vrati na pole kopat brambory
28.6.2007 17:38 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Já bych to asi neřešil. Obrozenci ať si trhnou a zastánci cizích výrazů taky. Hlavně ať se to dobře čte - je na autorovi ať se rozhodne. Třeba podle toho komu je článek určen.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
28.6.2007 17:49 Libor Chocholaty | skóre: 12
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
+1
28.6.2007 18:20 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
"Někteří výrobce zjevně věří, že by mohli " vyrobce -> vyrobci.
Díky, opraveno.
Jsem pro "dereferencovani", popisovačů souborů => file descriptoru, nízkoúrovňové komunikaci => low-level komunikaci, jmenný prostor => namespace, nové systémové volání => novy system call, příznaky => flagy, atd. atd.
Dereferencování už je probíráno výše - bohužel jsem tam nepochopil pravý význam. Za ostatními výrazy si však stojím a nebudu je psát anglicky, když pro ně existují výstižné a jednoznačné překlady. V případech, kde by to nemuselo být zcela zřejmé, uvádím původní výraz do závorky (nebo naopak - ponechávám původní výraz a do závorky uvádím popisný český překlad).
29.6.2007 09:42 test
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
V podstate mi nejde ani tak o to, zda je vyraz cesky ci anglicky, ale ukazete mi nekde v C/C++ ceske pojmy? Pripadam si zhruba tak, jako by nekdo prekladal printf() na vytisknif(), struct na struktura, exit() na konec(), atd. Vzdyt kazdy kompilator i kazdy rozsirenejsi programovaci jazyk neuziva zadnou jinou terminologii, nez originalni.

Prekladem originalnich IT terminu se clanek prinejmensim zbytecne komplikuje, je zde snad nejaky C/C++ programator, ktery nevi co je to filesystem, file descriptor, system call, flag, low-level, alokace, dealokace, rekurze, interrupt, partition, race condition, kernel, ... ?

Neberte to prosim jako jednostranou kritiku, spise by to mel byt namet k zamysleni, zda mame vubec zapotrebi zbytecne komplikovat a prznit tak krasne terminy, jako je namespace.
29.6.2007 10:21 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
článok je imho určený aj pre ne(C/C++ programátorov). Príklad "dereferencing" naznačuje, že nie každý musí chápať význam slova. Osobne sa mi zdá, že výstižný český preklad má (v týchto končinách) väčšiu informačnú hodnotu ako anglický originál. Okrem toho, existujú "Odkazy a zdroje" :-)

btw, "jmenný prostor" ma tiež niečo do seba :-)

29.6.2007 10:30 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
namespace
Afaik je jmenný prostor v češtině terminus technikus ;-)
When your hammer is C++, everything begins to look like a thumb.
29.6.2007 10:37 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Plete si jména a významy.
29.6.2007 11:20 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
jako by nekdo prekladal printf() na vytisknif(), struct na struktura, exit() na konec()
Což však nedělám :-)

Pro ostatní zmiňované pojmy (kromě alokace - ten také nepřekládám) platí to, co jsem psal výše: nebudu je psát anglicky, když pro ně existují výstižné a jednoznačné překlady. V případech, kde by to nemuselo být zcela zřejmé, uvádím původní výraz do závorky (nebo naopak - ponechávám původní výraz a do závorky uvádím popisný český překlad).

Důvodem je to, že článek není určen pouze programátorům - zatímco programátor by neměl mít problém s pochopením např. slova "nízkoúrovňová", laik a/nebo neangličtinář by pravděpodobně výrazu "low-level" neporozuměl.
egg avatar 29.6.2007 14:06 egg | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Souhlasím, ale obávám se, že dereference je stejný případ jako alokace. (Na rozdíl od namespace.) Ekvivalent, který by byl více česky a používal se, neexistuje. Jako termín se používá dereference a s vymýšlením vlastních překladů je třeba být opatrný, jak se právě ukázalo. Znamená to nahrazení odkazu hodnotou, na kterou ukazuje. Nenapadá mě, jak to popsat jedním nebo dvěma slovy bez újmy na srozumitelnosti a přesnosti.
1.7.2007 09:47 thingie
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Možná, jmenné prostory asi jo, popisovače bych tvrdě ztrashoval a nahradil filedeskriptory, páč jsou ošklivé. Nízkoúrovňová komunikace by naopak mohla zůstat, ten system call vypadá dost křečovitě, nepřeložený. Flagy bych asi taky nepřekládal.
Josef Kufner avatar 1.7.2007 15:43 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jaderné noviny - 6. 6. 2007
Flag == příznak. ;-)
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

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

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