Article View: es.comp.os.linux.programacion
Article #8393Re: Problema con un ejemplo de un libro
From: J.A. Gutierrez
Date: Fri, 15 Nov 2002 10:57
Date: Fri, 15 Nov 2002 10:57
48 lines
2610 bytes
2610 bytes
quantium <quantium@lycos.es> wrote: : #include <stdio.h> : extern *sys_errlist[]; : extern int sys_nerr; : El error esta en "extern *sys_errlist[];". Si quitamos esta linea el : programa compila perfectamente, pero me parece raro que en el primer : ejemplo que viene en el libro (UNIX. programacion avanzada - rama) venga en realidad, no es un error. En algunos Unix (antiguos, sobre todo), esas variables no estan definidas en ningun .h; por lo tanto, esa declaracion "extern" es necesaria. La tendencia actual es que sys_errlist este declarado en stdio.h; entonces, al declararla tu explicitamente creas una incompatibilidad. Una forma mas correcta de escribir ese codigo seria: #if ( defined __sun__ && !defined __svr4__ ) || defined (SYSTYPE_BSD) || defined (_SYSTYPE_BSD) extern char *sys_errlist[]; extern int sys_nerr; <...> #endif (o bien, usar #ifdef _NEED_SYSERR_DECL_ y definir esa constante en tiempo de compilacion con -D_NEED_SYSERR_DECL_ en funcion del sistema detectado en la fase previa de configuracion) : linea? Otra duda: �para que sirve el modificador extern? �para que se : usa en este ejemplo? para utilizar variables/funciones que estan implementadas en otro fichero distinto al que se esta compilando. -- PGP and other useless info at \ http://www.cps.unizar.es/~spd/ \ finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)
Technical Details
Message-ID:
<ar2jva$95v$1@news.unizar.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news-out.cwix.com!newsfeed.cwix.com!newsfeed.icl.net!newsfeed.fjserv.net!isdnet!news.rediris.es!news.unizar.es!not-for-mailReferences:
<ar114u$elfur$1@ID-129971.news.dfncis.de>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,9e9ca2c94065982c
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-11-15 02:17:49 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news-out.cwix.com!newsfeed.cwix.com!newsfeed.icl.net!newsfeed.fjserv.net!isdnet!news.rediris.es!news.unizar.es!not-for-mail
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Problema con un ejemplo de un libro
Date: 15 Nov 2002 10:57:46 GMT
Organization: Rank
Lines: 48
Message-ID: <ar2jva$95v$1@news.unizar.es>
References: <ar114u$elfur$1@ID-129971.news.dfncis.de>
NNTP-Posting-Host: daphne.cps.unizar.es
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news.unizar.es 1037357866 9407 155.210.152.20 (15 Nov 2002 10:57:46 GMT)
X-Complaints-To: usenet@news.unizar.es
NNTP-Posting-Date: 15 Nov 2002 10:57:46 GMT
User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (IRIX/6.2 (IP22))