¿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?

usuario248075
fuente
posible duplicado de Cómo compilar programas de c & c ++?
Élder Geek

Respuestas:

21

Utilizar:

gcc MyProgram.c -o MyProgram -lpthread 

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

Parthiv Shah
fuente
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.

Miguel
fuente
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

Kushal
fuente
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.

Brijesh Patel
fuente
0

Para el programa C ++:

g++ -std=c++11 Myprogram.cpp -o MyProgramTest -lpthread
RamKumar Lodhi
fuente