Hola Jorge,<br><br>
<div class="gmail_quote">2010/1/9 Jorge Vega Sanchez <span dir="ltr"><<a href="mailto:memmaker650@gmail.com">memmaker650@gmail.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Buenas<br>Es una duda un poco para poner el código más legible y tener separada las funciones del main.<br>
Tengo un programita sencillo donde trabajo con un par de hilos. Tengo un fichero de cabecera donde tengo definido las funciones para sincronizar hilos.<br>En las funciones y procedimeintos que ejecutan los hilos uso variables globales y me gustaría saber si las puedo poner en otro fichero.<br>
He probado a ponerlas en otro fichero de cabecera pero me da error todas las variables globales.</blockquote>
<div> </div>
<div>Recuerda que C/C++ siguen la Regla de una Sola Definición (ODR, en inglés). Es decir, sólo puedes definir una variable una sola vez. Lo que sí puedes hacer es declarar tantas veces como necesites. Ésta es la solución. Por ejemplo,</div>

<div> </div>
<div>// principal.cpp</div>
<div> </div>
<div>int nCont = 10;  // Definición</div></div>
<div class="gmail_quote">...</div>
<div class="gmail_quote"> </div>
<div class="gmail_quote">
<div>// cab1.h</div>
<div>
<div>extern int nCont;  // Declaración</div>
<div>...</div>
<div> </div>
<div>
<div>// cab2.h</div>
<div>
<div>extern int nCont;  // Declaración</div>
<div>...</div></div></div>
<div> </div>
<div>
<div>// cab3.h</div>
<div>
<div>extern int nCont;  // Declaración</div>
<div>...</div>
<div> </div>
<div>Como puedes ver, declaramos 'nCont' varias veces, pero sólo la definimos una vez, en "principal.cpp", que es cuando se reserva memoria para ella y cuando realmente comienza a "existir".</div>

<div> </div>
<div> </div>
<div>Espero haber aclarado la duda.</div>
<div> </div></div></div>
<div>Steven</div>
<div> </div></div></div>