¿Cómo compilar un programa de CA que utiliza pthread.h?


14

Soy un principiante y soy nuevo en Ubuntu. Lo acabo de instalar y quiero ejecutar un programa en C. No tengo idea de qué plataforma usar o dónde escribir el código. Necesito usar el archivo de encabezado pthread.h en el programa. ¿Alguien puede ayudarme?


Respuestas:


21

Utilizar:

gcc MyProgram.c -o MyProgram -lpthread 

y no olvide incluir la biblioteca POSIX en su código. Compilará su código.


2
por defecto, GCC no incluye la biblioteca pthread. así que debes incluir la biblioteca usando el argumento lpthread.
Parthiv Shah

También tenga en cuenta que en gcc-4.8 no hay -lpthreadargumento en man gcc. Pero hay una -pthreaddiscusión. Ambos funcionan bien en Ubuntu 14.04 con gcc-4.8.
Elijah Lynn el

1

Si va a compilar un programa en C con pthread.h en LINUX usando GCC o G ++, deberá usar la opción –lpthread después del comando de compilación.

gcc xyz.c -o xyz -lpthread

Aquí,

gcc es el comando del compilador (nombre del compilador)
xyz.c es un nombre de archivo fuente.
-o es una opción para crear un archivo objcect.
xyz es el nombre del archivo de objeto (binario).
-lpthread es una opción para pthread.h

para más detalles aquí está el enlace que contiene el artículo completo sobre el mismo.
Compilando el programa C con pthread.h en Linux.


0

Lo primero que necesitará en Ubuntu para compilar programas C / C ++ es instalar GCC (Gnu Compiler Collection), que forma parte del build-essentialpaquete, para ello ejecute:

sudo apt-get install build-essential

Luego puede probar si lo tiene instalado ejecutando gcc. Si ve un error como Fatal error: file not provided(no estoy seguro del mensaje de error exacto, pero debería ser algo similar), eso significa que tiene un compilador listo.

Y para editar su Código, puede usar Gedit ya disponible , solo búsquelo en Dash.

Ahora sigue la sintaxis para compilar su archivo fuente C, ejecute siguiente donde está su archivo:

gcc MyProgram.c -o MyProgram

Donde, el cambio -oes opcional, pero siempre que se mencione el nombre del archivo binario que debe crearse a partir de su fuente.

Luego simplemente corre ./MyProgrampara ejecutar tu binario.

Tenga en cuenta que, pthread.hcomo mencionó (POSIX Thread) debería estar disponible de forma predeterminada con GCC, por lo que simplemente incluirlo en su archivo C hará ese trabajo, en caso de que no esté disponible, una simple búsqueda en Google debería ayudar. ;)

Actualizar

Demasiado tiempo, no leyó? Mira esto . :RE


0

Si da error, entonces puede probar el mismo comando intercambiando los parámetros como

gcc -lpthread -o output_file program_pthread.c

después de eso ./output_fileproporciona salida para el programa y aquí program_pthread.cestá el programa pthread que ha implementado.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.