<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Muchas gracias Steven, como siempre ayudando al necesitado, sabía que
ese operador en algún momento lo había tenido que ocupar pero no me
acordaba para que servía.<br>
<br>
Estoy revisando un código que sirve para recuperar el estatus de
termino de hilos y aparecen otras notaciones que desconozco:<br>
<br>
1.- Esto aparece en una librería .h. ¿Para que son los puntos
suspensivos?<br>
<br>
void    err_dump(const char *, ...);        /* {App misc_source} */<br>
void    err_msg(const char *, ...);<br>
<b>void    err_quit(const char *, ...);</b><br>
void    err_exit(int, const char *, ...);<br>
void    err_ret(const char *, ...);<br>
void    err_sys(const char *, ...);<br>
<br>
void    log_msg(const char *, ...);         /* {App misc_source} */<br>
void    log_open(const char *, int, int);<br>
void    log_quit(const char *, ...);<br>
void    log_ret(const char *, ...);<br>
void    log_sys(const char *, ...);<br>
<br>
2.- Lo otro es que aparece el siguiente código que no se me hubiese
ocurrido posible. Retornar en una función void de esta forma,  :<br>
<br>
void *<br>
thr_fn1(void *arg)<br>
{<br>
    printf("thread 1 returning\n");<br>
    return((void *)1);<br>
}<br>
<br>
El asunto es que esa función es ocupada para analizar el el retorno de
una hebra<br>
    err = pthread_create(&tid1, NULL, thr_fn1, NULL);<br>
    if (err != 0)<br>
        err_quit("can't create thread 1: %s\n", strerror(err));<br>
    err = pthread_join(tid1, &tret);<br>
    if (err != 0)<br>
        err_quit("can't join with thread 1: %s\n", strerror(err));<br>
<br>
En este punto pthread_join puede manejar ese tipo de retornos??<br>
<br>
Lo pregunto porque no he podido compilar los archivos debido a que me
lanza el siguiente error:<br>
<br>
carlos$ <b>cc exitstatus.c -l pthread -o exitstatus</b><br>
/tmp/ccQGYKoy.o: In function `main':<br>
exitstatus.c:(.text+0x87): undefined reference to `err_quit'<br>
exitstatus.c:(.text+0xd2): undefined reference to `err_quit'<br>
exitstatus.c:(.text+0x10d): undefined reference to `err_quit'<br>
exitstatus.c:(.text+0x15f): undefined reference to `err_quit'<br>
collect2: ld returned 1 exit status<br>
<br>
Si alguien pudiese jugar y compilarlos y pillar el error lo agradecería
nuevamente, adjunto los archivos. En caso contrario no hay problema,
creo que sobreviviré al certamen de mañana (o eso espero).<br>
<br>
Miguel<br>
<br>
<br>
<br>
On 08/10/10 01:50, Steven Davidson wrote:
<blockquote cite="mid:4CAEB11D.9030004@njit.edu" type="cite">Hola
Miguel,
  <br>
  <br>
On 10/8/2010 1:41 AM, Miguel Olave wrote:
  <br>
  <blockquote type="cite">Esop!!
    <br>
    <br>
He buscado pero no encuentro que hace esta notación:
    <br>
    <br>
i ^= 1;
    <br>
    <br>
hice un pequeño programa para ver si lo descubria pero no "me o
    <br>
entender"
    <br>
    <br>
#include <stdio.h>
    <br>
    <br>
int main(){
    <br>
int i=0, z=1, j;
    <br>
    <br>
for(j=0;i<10;i++){
    <br>
i ^= 1;
    <br>
z ^= 1;
    <br>
printf("i:%d, z:%d\n",i,z);
    <br>
}
    <br>
}
    <br>
Resultado:
    <br>
i:1, z:0
    <br>
i:3, z:1
    <br>
i:5, z:0
    <br>
i:7, z:1
    <br>
i:9, z:0
    <br>
    <br>
Demás que alguien sabe y puede decirme en un par de líneas sin perder
    <br>
mucho tiempo.
    <br>
    <br>
  </blockquote>
  <br>
El operador ^= es el equivalente a hacer dos operaciones: ^ (XOR: OR
eXclusivo) y = (asignación). Para información acerca del operador ^,
consulta el capítulo 18 de nuestro curso de C++:
<a class="moz-txt-link-freetext" href="http://c.conclase.net/curso/index.php?cap=018#inicio">http://c.conclase.net/curso/index.php?cap=018#inicio</a>
  <br>
  <br>
Brevemente, este operador es a nivel de bits. Te doy la tabla de
verdad, pero con bits, para entender esta operación:
  <br>
  <br>
 A | B | A ^ B
  <br>
---+---+-------
  <br>
 0 | 0 |   0
  <br>
 1 | 0 |   1
  <br>
 0 | 1 |   1
  <br>
 1 | 1 |   0
  <br>
  <br>
Si ambos bits son iguales, entonces el resultado es 0; de lo contrario,
es 1.
  <br>
  <br>
  <br>
Espero haber aclarado el asunto.
  <br>
  <br>
Steven
  <br>
  <br>
  <br>
_______________________________________________
  <br>
Lista de correo Cconclase <a class="moz-txt-link-abbreviated" href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a>
  <br>
<a class="moz-txt-link-freetext" href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a>
  <br>
Bajas: <a class="moz-txt-link-freetext" href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a>
  <br>
</blockquote>
<br>
</body>
</html>