<div>Perfecta explicación.<br></div><div><br></div><div>Gracias.</div><br><div class="gmail_quote">El 30 de noviembre de 2010 17:02, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Hola User,<br>
<br>
On 11/30/10, User <<a href="mailto:usuarioanonimomysql@gmail.com">usuarioanonimomysql@gmail.com</a>> wrote:<br>
</div><div class="im">> Hola,<br>
><br>
> Yo no uso paréntesis y no tengo problema alguno, ¿son necesarios? Gracias<br>
<br>
</div>Siempre que lo he visto usar, se colocaban paréntesis. Sin embargo, al<br>
no ser estándar, supongo que cada compilador (o precompilador) puede<br>
aceptar la sintaxis que quiera.<br>
<div class="im"><br>
> por aclarar que el uso de defined no es estándar. ¿Hay algún equivalente<br>
> estandar que se pueda aplicar para hacer un or en la condición de las<br>
> macros?<br>
><br>
<br>
</div>No hay operadores con #ifdef ni #ifndef. Lo que sí puedes hacer es<br>
expresar lo que quieres de otra manera. Como quieres una lógica de<br>
tipo OR con los negativos de sus operandos,<br>
<br>
NOT( A ) OR NOT( B ),<br>
<br>
entonces puedes expresar esto como su equivalente con AND, como<br>
establecen las leyes de De Morgan; esto es,<br>
<br>
NOT( A ) OR NOT( B ) = NOT( A AND B )<br>
<br>
En tu caso, esto sería,<br>
<br>
#ifdef macro1<br>
  #ifdef macro2<br>
  #else<br>
    // Hacer aquí lo que quieres<br>
  #endif<br>
#else<br>
  // Hacer aquí lo que quieres - idéntico a la parte anterior<br>
#endif<br>
<br>
Podemos reescribir lo anterior para aclarar la lógica y quizás<br>
optimizar un poco; esto sería,<br>
<br>
#ifndef macro1<br>
  // Hacer aquí lo que quieres<br>
#else<br>
  #ifndef macro2<br>
    // Hacer aquí lo que quieres - idéntico a la parte anterior<br>
  #endif<br>
#endif<br>
<br>
<br>
Espero que esto aclare la duda.<br>
<div><div class="h5"><br>
Steven<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br>