<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
<META content="MSHTML 6.00.2900.3132" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Pouzit jiny kompilator..</FONT></DIV>
<DIV><FONT face=Arial size=2>Vadi tolik tech par instrukci navic?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Michal</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=econf@centrum.cz href="mailto:econf@centrum.cz">Hynek Sladky</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz 
  href="mailto:hw-list@list.hw.cz">HW-news</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, December 04, 2007 1:23 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: definice externi konstanty v 
  C</DIV>
  <DIV><BR></DIV>Jak uz jsem psal:<BR><BR>extern unsigned char 
  konst_maska;<BR><BR>se pouzije jako odkaz na promennou, nikoli jako vlastni 
  konstanta.<BR>Tj. provede se cosi jako<BR>ld e,(konst_maska)<BR>or 
  e<BR><BR>misto rovnou pouziti (cehoz bych chtel dosahnout):<BR>or 
  konst_maska<BR><BR>Otazka tedy zustava: jak rict kompilatoru, ze dany 
  identifikator je <BR>externe definovana konstanta (nikoli externe definovana 
  konstantni <BR>promenna)?<BR><BR>Hynek Sladky<BR><BR><BR>Miroslav Sinko 
  wrote:<BR>&gt; ako som uz pisal:<BR>&gt; <BR>&gt; extern typ 
  meno_konstanty;<BR>&gt; <BR>&gt; Je to pre kompilator informacia, ze premenna 
  tohto mena a typu existuje<BR>&gt; v inom module (zdrojak, lib, obj). Teda 
  kompilator sa o nu dalej<BR>&gt; nestara, az linker.<BR>&gt; <BR>&gt; 
  miro<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; --- Hynek Sladky &lt;<A 
  href="mailto:econf@centrum.cz">econf@centrum.cz</A>&gt; wrote:<BR>&gt; 
  <BR>&gt; <BR>&gt;&gt;Diky,<BR>&gt;&gt;<BR>&gt;&gt;jenze #define se zpracuje 
  pri kompilaci, nikoli az pri linkovani, coz<BR>&gt;&gt;<BR>&gt;&gt;prave 
  potrebuju.<BR>&gt;&gt;<BR>&gt;&gt;Linker umi to, co chci (viz priklad s 
  assemblerem), ale nevim, jak v<BR>&gt;&gt;C <BR>&gt;&gt;napsat, aby to pak 
  spravne slinkoval...<BR>&gt;&gt;<BR>&gt;&gt;Hynek 
  Sladky<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;Richard Kaliciak 
  wrote:<BR>&gt;&gt;<BR>&gt;&gt;&gt;Dobry 
  den,<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;pouzite #define, 
  napr.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;#define TIMER0PRESCALE 0x04 ///&lt; timer 
  0 prescaler default<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;nozete si vytvorit jeden 
  subor hw_config.h, kde si definujete<BR>&gt;&gt;<BR>&gt;&gt;potrebne 
  <BR>&gt;&gt;<BR>&gt;&gt;&gt;veci a potom ho vsade 
  #include-jete:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;----------------------------------<BR>&gt;&gt;&gt;#ifndef 
  HW_CONFIG_H<BR>&gt;&gt;&gt;#define 
  HW_CONFIG_H<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;#define TIMER0PRESCALE 0x04 ///&lt; 
  timer 0 prescaler default<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;#define LCD_CTRL_RS 
  0<BR>&gt;&gt;&gt;#define LCD_CTRL_RW 1<BR>&gt;&gt;&gt;#define LCD_CTRL_E 
  2<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;#endif<BR>&gt;&gt;&gt;----------------------------------<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;Richard 
  Kaliciak<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;Hynek Sladky 
  schrieb:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;Dobry 
  den,<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;jak definovat externi konstantu v 
  C?<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;Mam knihovni funkci, ktera (zavisle 
  podle HW na kterem bezi)<BR>&gt;&gt;<BR>&gt;&gt;potrebuje 
  <BR>&gt;&gt;<BR>&gt;&gt;&gt;&gt;slinkovat s ruznymi 
  konstantami.<BR>&gt;&gt;&gt;&gt;Napr.<BR>&gt;&gt;&gt;&gt;&nbsp; NejakyReg |= 
  konst_maska;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;pokud 
  definuju<BR>&gt;&gt;&gt;&gt;const unsigned char 
  konst_maska=0x20;<BR>&gt;&gt;&gt;&gt;tak se vytvori 8-bit promenna v casti pro 
  kod.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;Pritom pokud bych pouzil 
  assembler, tak toto mozne je:<BR>&gt;&gt;&gt;&gt;XREF 
  _konst_maska<BR>&gt;&gt;&gt;&gt;in a,(NejakyReg)<BR>&gt;&gt;&gt;&gt;or 
  _konst_maska<BR>&gt;&gt;&gt;&gt;out 
  (NejakyReg),a<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;Jenze pouzitim assembleru 
  v C zdrojaku se zdrojak stava znacne <BR>&gt;&gt;&gt;&gt;neprehlednym, tak 
  bych to radsi udelal rovnou v C, pokud to 
  je<BR>&gt;&gt;<BR>&gt;&gt;mozne...<BR>_______________________________________________<BR>HW-list 
  mailing list&nbsp; -&nbsp; sponsored by <A 
  href="http://www.HW.cz">www.HW.cz</A><BR><A 
  href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</A><BR><A 
  href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</A><BR></BLOCKQUOTE></BODY></HTML>