<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Comento la situación<div><br></div><div>Perdón por la tardanza.</div><div>Estoy realizando mi proyecto fin de carrera. No soy ingeniero informático, soy Teleco y tengo alguna dificultad con esto de la informática.</div><div>Bueno mi proyecto consiste en el testeo de una librería encargada de realizar STM ( Software Transactional Memory), que en resumen consiste que cuando realizamos operaciones con memoria de forma concurrente utilizando diferentes hilos de ejcución ( POSIX en mi caso ) no haya inconsistencias en la memoria y los datos sean correctos. Yendo un poco más allá y como soy poseedor de un portatil de Apple y tengo la posibilidad de probar la nueva tecnología OpenCL (consistente en usar la GPU para realizar trabajos aparte del procesodor principal) estoy probando primero a crear un programa que haga uso de todos los cores de mi micro (2 cores) y a su vez de la GPU. Posteriormente tratar de usar la librería para ver si funciona también con hilos funcionando sobre la GPU y así.</div><div><br></div><div>Sucede que con OpenCL hay que hacer unos cuantos pasos para mandar un código o kernel a la GPU para que se use y ver que funcione correctamente.</div><div><br></div><div>- El problema que tengo es que tengo unos ejemplos de uso de OpenCL echos por Apple en C y estoy tomando uno de ellos para digamos transformalo en un método, simplificarlo para hacer unos cálculos triviales, llamar a este código desde mi programa principal escrito en C++ y ver que todo funciona. Nunca he trabajado con programas repartidos en varios ficheros ni usar "varios" lenguajes y ahí surgen mis dudas.</div><div><br></div><div>No me ha quedado muy claro lo del EXTERN C.  Esta tarde intentaré conectar todo, a ver si consigo que funcione.</div><div><br></div><div>Un saludo. Perdón por el rollo.<br><div><div>El 22/09/2009, a las 22:40, David fire escribió:</div><br class="Apple-interchange-newline"><blockquote type="cite">perdon pero me da mucha curiosidad esa metodologia que hace que un hello wolrd sean 50 a 60 lineas de codigo en C/C++ <br>mas info please!!!!<br>David<br><br><div class="gmail_quote">El 22 de septiembre de 2009 12:03, Jorge Vega Sanchez <span dir="ltr"><<a href="mailto:memmaker650@gmail.com">memmaker650@gmail.com</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Buenas<br>
<br>
Tengo una duda que me no termino de entender.<br>
Estoy realizando un proyecto de investigación y estoy probando unos códigos de ejemplos básicos de una nueva metodología.<br>
He comenzado con el típico programa Hello World, que ya en esto implica cierta complejidad y varias lineas de código (aprox unas 50 o 60.<br>
Este código esta realizado en C y yo lo quiero unir a parte de mi código C++ para ver que funciona y probar unas librerías mías.<br>
<br>
Problema: en la unión dado que ambos códigos son bastante diferentes se me ha ocurrido dejar el código nuevo en otro fichero para llamarlo/invocarlo desde mi programa principal.<br>
El problema es que no sé como ponerlo en otro fichero y llamarlo desde otro fichero. Este código necesita librerias propias y creo que no puedo meterlo en el fichero de cabecera. Puedo dejarlo en otro fichero .cpp y aun así llamarlo o invocarlo desde otro fichero. Como se haría.<br>


<br>
En cuanto a la compilación, debo seguir algún orden en especial. La realizo desde línea de comando mediante un makefile y tengo dudas sobre como introducir el orden de compilación.<br>
<br>
Gracias de antemano.<br>
<br>
Best regards<br>
Jorge<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">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" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <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: http://listas.conclase.net/index.php?gid=2&mnu=FAQ</blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div>Best regards</div><div>Jorge</div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></div></body></html>