<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Text bubliny Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.StylE-mailovZprvy17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.TextbublinyChar
        {mso-style-name:"Text bubliny Char";
        mso-style-priority:99;
        mso-style-link:"Text bubliny";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=CS link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cele je to takhle<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>unsigned char _eeprom_read(unsigned int AdresaEEPROM);<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>void _eeprom_read_object(unsigned int ee_addr, void *pObj, unsigned char obj_size) {<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>    //unsigned char *p = obj_p;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>    while (obj_size--) {<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        *pObj = (void) _eeprom_read(ee_addr++);<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        pObj++;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>    }<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Hw-list [mailto:hw-list-bounces@list.hw.cz] <b>On Behalf Of </b>Pavel Hudecek<br><b>Sent:</b> Friday, April 07, 2017 9:48 PM<br><b>To:</b> HW-news<br><b>Subject:</b> Re: ukazatel typu void to char<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>Hlavně mi teda není jasné, k čemu je potřeba přetypovávat výsledek funkce na void.<o:p></o:p></span></p></div><div><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>PH</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'> <o:p></o:p></span></p></div><div><div><p class=MsoNormal style='background:whitesmoke'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'> <a href="mailto:t.mainzer@gmail.com" title="t.mainzer@gmail.com">tomas mainzer</a> <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:whitesmoke'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:whitesmoke'><span style='font-family:"Calibri","sans-serif";color:black'>>> *pObj++ = (void) _eeprom_read(ee_addr++);<o:p></o:p></span></p></div></div></div><div><div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>nevim co na to norma (mozna to nejak definuje, rad se poucim), ale prijde mi ze kazdy uhoz v tom radku smrdi prusvihem ;-)<o:p></o:p></span></p></div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>doplneni: tak gcc ma v tom ohledu odchylku od normy C a definuje sizeof(void)==1 se vsemy dusledky pro pointerovou aritmetiku.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>Ale pretypovani na (void) mi stale prijde divne. co takto:<br>*((unsigned char*)(pObj++)) = _eeprom_read(ee_addr++); <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'> <o:p></o:p></span></p></div></div><div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>Dne 7. dubna 2017 19:00 Miroslav Draxal <<a href="mailto:evik@volny.cz" target="_blank">evik@volny.cz</a>> napsal(a):<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>Pro čtení jsem to udělal takhle, sice to hlásí varování o nepředvídatelném<br>chování, ale koukl jsem na disa. a tam není žádný problém.<br>Takže jsem pro tenhle řádek vypnul hlášení varování.<br>*pObj++ = (void) _eeprom_read(ee_addr++);<br><br>Jakou paseku by tenhle kód mohl dělat? Nenapadá mě nic.<br><br>-----Original Message-----<br>From: Hw-list [mailto:<a href="mailto:hw-list-bounces@list.hw.cz">hw-list-bounces@list.hw.cz</a>] On Behalf Of Jan Waclawek<br>Sent: Friday, April 07, 2017 3:48 PM<br>To: HW-news<br>Subject: RE: ukazatel typu void to char<br><br>Hm tak ak mate zapnute aj vsetky optimalizacie, tak to je zvlastne, lebo<br>toto je bezne pouzivana paradigma.<br><br>V skutocnosti je to asi jedina uzitocna aplikacia pre void*.<br><br>V kazdom pripade vsak este stale nedoporucujem robit nic ine ako pouzit tu<br>"pomocnu" premennu.<br><br>wek<br><br><br>>Ano, poslední XC8 v1.41 pro.<br>><br>>-----Original Message-----<br>><br>>A mate tu plnu verziu prekladaca?<br>><br>>wek<br>><br>><br>>----- Original Message ---------------<br>>>Jo, jenľe kdyľ se podívám do disas. (coľ je moje váąeň, jak to dělají)<br>>>tak tam mám 3x nesmyslné předávání hodnot z ram do ram, neľ tu adresu<br>>pouľije.<o:p></o:p></span></p><div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:black'>>>Rád bych se tomu vyhnul.<br>>><br>>>-----Original Message-----<br>>><br>>>No len si ho pekne urobte, predidete tym zbytocnym problemom.<br>>><br>>>wek<br>>><br>>><br>>>----- Original Message ---------------<br>>>>Nechce se mi "zřizovat" pomocný ukazatel *p.<o:p></o:p></span></p></div></div></div></div></div></div></div></div></body></html>