<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Oye he estado mirnado el ejemplo que me pusiste y o soy muy estupido o lo intento aplicar en una aplicación mia y me dice que redefino variables.<div><br></div><div>No entiendo nada.</div><div><br><div><div>On 19/05/2010, at 9:04, Steven Davidson wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hola Jorge,<br><br><div class="gmail_quote">2010/5/18 Jorge Vega Sanchez <span dir="ltr"><<a href="mailto:memmaker650@gmail.com">memmaker650@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Buenas<br> <br> Llevo unos días trabajando con un programa  que ya funciona y estoy probando a distribuirlo en varios ficheros porque veo el código muy desordenado. Quiero distribuir el código en varios ficheros para tenerlo más ordenado y que sea más fácil ampliar el código y que sea legible. El problema viene en que ando muy perdido en esto porque no encuentro documentación y estoy probando alguna cosa que he visto pero no cumple todo lo que quiero. Y no sé como enlazarlo todo.<br> <br> Mi programa tiene: variables globales, 4 procediemientos generales y 2 procedimientos de control y un programa principal.<br> <br> Me gustaría dividirlo en uno/dos ficheros de cabecera y 3 ficheros fuente. 1 donde este el main, otro donde esten los procedimientos de control y otro donde estén los procedimientos generales. En la cabecera incluyo una librería externa.<br> <br> <br></blockquote><div><br><br>Sin conocer los detalles ni el problema exacto, no podemos ser muy precisos en nuestra respuesta. Aparte de la ordenación del código, la separación del código en diferentes ficheros ofrece también una oportunidad para agrupar y relacionar el código lógicamente.<br> <br>A mi parecer, el mayor problema que puedas tener es con las variables globales. Defínelas en un fichero fuente, pero decláralas en los demás donde las vayas a usar. Esto implica que deberás usar 'extern' a la hora de declarar las variables globales que necesitas, pero sin (re)definirlas. Por ejemplo,<br> <br>// codigo01.h<br><br>extern int g_num;<br>extern float g_real;<br><br><br>// codigo01.cpp<br><br>int g_num = 10;<br> float g_real = -.5009;<br> <br><br>// codigo02.h<br><br>#include "codigo01.h"<br><br>struct punto4d { double x,y,z,w; };<br><br>extern punto4d g_origen;<br> <br><br>// codigo02.cpp<br> <br>punto4d g_origen = { 0.0, 0.0, 0.0, 1.0 };<br> <br><br>// main.cpp<br><br>#include "codigo01.h"<br>#include "codigo02.h"<br> <br>int main()<br>{<br>  punto4d p;<br><br>  p.x = g_origen.x * g_num + g_real;<br>  p.y = g_origen.x * g_num + g_real;<br>   p.z = g_origen.x * g_num + g_real;<br>   p.w = g_origen.x;<br>  ...<br>  return 0;<br>}<br><br><br><br>Espero que esto te oriente.<br> </div></div>Steven<br><br> _______________________________________________<br>Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br><a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></blockquote></div><br></div></body></html>