Dudas a la hora de compilar en C en Linux

Vereis estoy mirando tutoriales para hacer practicas de compilacion en C con la herramienta GCC en Linux(concretamente para Yellow Dog en la PS3,asi que estoy manejando librerias para la arquitectura PPC)el problema es que digamos que soy noob en esta materia ya que lo mas que he llegado a compilar son los programas source(que estan precompilados y solo es necesario hacer ./configure make y make install)y compilar el kernel de Linux,esa es toda la experiencia que tengo en el manejo de compiladores.
El caso es que estoy ojeando tutoriales como este:
http://www-128.ibm.com/developerworks/p ... index.html
y este:
http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm
El caso es que tengo archivos en C para hacer pruebas con las SPU del procesador Cell de la PS3,pero no se manejar los archivos .h .o .s ,etc para poder compilarlos¿Alguna idea por donde empezar?
Un saludo.
No tengo mucha idea pero, si quieres compilar archivos de C por que los tienes con formatos raros? No seria mejor guardarlos como .c y luego compilarlos?
De todas formas prueba a compilarlos igual que compilarias uno .c a ver si funciona...
gcc archivo.c -o archivo

añadiendo claro las opciones que quieras.
Los .h con tenerlos en la misma carpeta que el .c y hacer los #includes creo que es suficiente...
los .o son objeto... yo solo los he usado con nasm (ensamblador para intel) y los enlazaba con gcc -o programa programa.c funcion.o

de hecho puedes ver como los usan en los makefiles...
A ver os explico;estoy probando en Yellow Dog 6.1 a compilar las librerias que estan en el directorio /usr/lib/gcc/spu/4.1.1/include que deben servir por lo que he leido sirven para probar los vectores de las SPU del chip Cell(como sabeis el Cell lleva un nucleo de arquitectura PowerPC y 8 coprocesadores o SPUs),lo que no se es para que serviran esos vectores.
El caso es que en dicha carpeta hay varios archivos con extension .h y ninguno .c ;pues segui los pasos cree un archivo de texto llamado vec_test.c con este contenido:
#include <spu_intrinsics.h>

void print_vector(char *var, vector unsigned int val) {
printf("Vector %s is: {%d, %d, %d, %d}\n", var, spu_extract(val, 0),
spu_extract(val, 1), spu_extract(val, 2), spu_extract(val, 3));
}

int main() {
/* Create four vectors */
vector unsigned int a = (vector unsigned int){1, 2, 3, 4};
vector unsigned int b;
vector unsigned int c;
vector unsigned int d;

/* b is identical to a, but the last element is changed to 9 */
b = spu_insert(9, a, 3);

/* c has all four values set to 20 */
c = spu_splats((unsigned int) 20);

/* d has the second value set to to 5, and the others are garbage */
/* (in this case they will all be set to 5, but that should not be relied upon) */
d = spu_promote((unsigned int)5, 1);

/* Show Results */
print_vector("a", a);
print_vector("b", b);
print_vector("c", c);
print_vector("d", d);

return 0;
}
despues crear ese archivo use este comando creo que para crear un ejecutable:
spu-gcc vec_test.c -o vec_test
y despues ejecute el ejecutable con el comando bash:
./vec_test
y me respondio esto:
[root@dhcppc1 include]# ./vec_test
Vector a is: {1, 2, 3, 4}
Vector b is: {1, 2, 3, 9}
Vector c is: {20, 20, 20, 20}
Vector d is: {5, 5, 5, 5}
¿Voy por buen camino a la hora de compilar librerias y codigo C sin compilar?
Otra cosa,no se exactamente que es lo que siginifica esta prueba,¿alguien me puede orientar que significan estas cifras que me ha respondido?
Un saludo.
Viene todo explicado en los comentarios. Igual deberías mirar algo más sobre C... porque vas bastaaaaaante pez.
Pues a ver, no pones la salida del compilador, pero es de suponer que si no lo pones, es que va bien. en cuanto a ese código, lo único que hace es asignar valores a vectores mediante el uso de funciones de la librería "spu_intrinsics" (o eso supongo, porque a mi no me suenan y además empiezan por "spu") y luego devolverlos.

No sé qué hacen las funciones de spu_intrinsics, por lo que no sé ni lo que hace el programa, ni lo que debería hacer, ni lo que significan esos resultados, tendrás que buscar información en el sitio donde encontrases ese código.
Desde luego en este tema ando bastante pez,por que estoy probando lo que sale en las librerias antes mencionadas,supongo que sera para hacer pruebas con las 6 SPU que estan accesibles del procesador Cell,seguire probando.
Un saludo.
7 respuestas