🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7145

Re: Problemas al linkar librerias de POSIX threads

#7145
From: Fernando Arbeiza
Date: Wed, 02 Apr 2003 14:53
65 lines
2928 bytes
Hola:

On Tue, 1 Apr 2003 07:26:00 +0000 (UTC), Angel Ivan Castell Rovira
<al004140@alumail.uji.es> wrote:
> MIL GRACIAS!! Asi es! Funciona! Una pregunta. �Como se supone que debo
> saber yo que para compilar con threads debo usar el parametro
> -lpthread?  Porque que yo sepa, haciendo el
> 
> #include <pthread.h>
> 
> deberia ser suficiente, �no?

Los threads de POSIX est�n en la librer�a pthread, as� que tienes que
enlazar con ella. El include s�lo (nada m�s ni nada menos) hace que los
prototipos de las funciones (y otras declaraciones) est�n en el �mbito
del c�digo.

> Porque, por ejemplo, yo uso 
> #include <fcntl.h>
> #include <stdio.h>
> #include <errno.h>
> #include <...>
> 
> y no hay que incluir ningun parametro para esos include a la hora
> de compilar...

Porque pertenecen a la librer�a de C que se enlaza por defecto. Pero,
por ejemplo, trata de compilar esto:

/****************/
#include <math.h>

int main(void) {
    double x;
    x = sin(1.0);
    return 0;
}
/****************/

$ gcc p.c
/home/fernando/tmp/ccKEE3Pc.o: En la funci�n `main':
/home/fernando/tmp/ccKEE3Pc.o(.text+0x11): referencia a `sin' sin definir
collect2: ld returned 1 exit status
$

Las funciones matem�ticas est�n separadas en la librer�a m.

> �de donde saco esa informaci�n si me ocurre otra
> vez algun problema similar con otra libreria?

Pues la documentaci�n que est�s utilizando, seguro que te avisa.

> Si funciona ;-) pero se te ve muy puesto en esto del C. Los 
> punteros a void (si lo dices por eso) permiten apuntar "a
> cualquier cosa".

Pero piensa en una cosa:

char *message1:     Tipo puntero a char...
&message1:          Tipo puntero a puntero a char.

Un saludo.
-- 
Fernando Arbeiza        <URL: mailto:arbeizaf@ono.com>
Crea tu propio Linux:   <URL: http://www.escomposlinux.org/lfs-es>
Technical Details
Message-ID: <slrnb8luar.1os.arbeizaf@jupiter.olimpo.homelinux.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!81-203-248-76.user.ono.COM!not-for-mail
References: <b692oc$kjd$1@sofora01.uji.es> <b69g0u$2vvgs$1@ID-176895.news.dfncis.de> <b6beu8$7gh$1@sofora01.uji.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,13e054c8d212500c
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-04-02 07:07:42 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!81-203-248-76.user.ono.COM!not-for-mail
From: Fernando Arbeiza <arbeizaf@ono.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Problemas al linkar librerias de POSIX threads
Date: Wed, 2 Apr 2003 16:53:15 +0200
Lines: 65
Message-ID: <slrnb8luar.1os.arbeizaf@jupiter.olimpo.homelinux.org>
References: <b692oc$kjd$1@sofora01.uji.es> <b69g0u$2vvgs$1@ID-176895.news.dfncis.de> <b6beu8$7gh$1@sofora01.uji.es>
NNTP-Posting-Host: 81-203-248-76.user.ono.com (81.203.248.76)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: fu-berlin.de 1049296059 4823978 81.203.248.76 (16 [148301])
X-Orig-Path: jupiter.olimpo.homelinux.org!news
User-Agent: slrn/0.9.7.4 (Linux)