2010-10-15 19 views
25

tengo un programa como esteCómo comentar un par de líneas, con comentarios dentro

int main(){ 

    char c; 
    int i; /* counter */ 
    double d; 

    return 0; 
} 

si quiero comentar char, int y doble, y sólo tienen regresar sin comentar, ¿puedo hacerlo? el comentario que ya está allí detiene el comentario. ¿Hay alguna manera fácil/rápida de comentar eso?

+11

En general me gustaría utilizar '' // para una línea de comentarios al final de la línea. Por lo que sería '// counter' y usted podría fácilmente situar el bloque en' '/*...*/ –

Respuesta

73
int main(){ 
#if 0 
    char c; 
    int i; /* counter */ 
    double d; 
#endif 
    return 0; 
} 

No es estrictamente un comentario, pero el efecto es lo que quiere y es fácil de revertir.

Esto también se adapta bien a bloques de código más grandes, especialmente si tiene un editor que puede coincidir con el inicio y el final de #if..#endif.

+11

1 ... y los "comentarios del preprocesador" (a diferencia de '/ * ... * /') nido – pmg

+7

#IF FALSO es también una opción, y es más explícita –

+0

impresionante ! gracias – pvinis

12
int main(){ 

/* 
    char c; 
    int i; // counter 
    double d; 
*/ 
    return 0; 
} 
+4

@ respuesta de Steve es muy inteligente, pero me parece que este es el más común y menos propensos a dejar su dev gestor de preguntas :) –

+0

no quiero cambiar los comentarios de/**/a // ya que estoy escribiendo material del núcleo de Linux .. – pvinis

+4

@KennyCason '#if 0' es bastante común y ampliamente entendido, y tiene el beneficio añadido de trabajar en C y C++. – meagar

5

Si su compilador admite la notación // para comentarios (no estándar en C, pero comúnmente soportado), use un editor que pueda alternar un bloque completo de líneas con estos.

+2

'//' los comentarios están disponibles en los compiladores estándar C99 :-) – pmg

+0

De hecho, depende de qué sabor de C se use ;-) – Bruno

+0

+1 este es probablemente el mejor respuesta –

5

En C99

int main(){ 

// char c; 
// int i; /* counter */ 
// double d; 

    return 0; 
} 
2

Hay una gran cantidad de editores/IDE que apoyan comentar/descomentar con teclas de acceso rápido. Esta es una caracteristica muy útil. En Kate/KDevelop, la tecla de acceso directo es Ctrl + D.

Esto también se describe (junto con otros entornos de desarrollo de soporte esta función) en THIS cuestión.

+1

Ctrl + K, Ctrl + C en MSVC++. –

5

soy parcial a:

int main(){ 

#ifdef USE_DISABLED_CODE 
    char c; 
    int i; /* counter */ 
    double d; 
#endif 

    return 0; 
} 

utilizar un nombre conciso como 'CODE_REMOVED_FOR_TESTING_PURPOSES' o 'REMOVED_FROM_E3_BUILD', y no lo define, y que he dejado a sí mismo un breve comentario acerca de por qué el código está deshabilitado (que aparecerá si busca en todos los archivos #ifdef).

+1

Recientemente (en 2010) eliminé #ifdef POST_JUNE_DEVELOPMENT bloques de aproximadamente 30 archivos. Nadie está seguro ahora de qué año estaba en discusión (probablemente sobre 1994, pero podría haber sido más antiguo que eso, cambiamos los sistemas CM en ese momento, por lo que se pierde la historia anterior), mucho menos lo que era el 'desarrollo post junio' planificado va a ser. Probablemente deberías documentar el significado de la definición en al menos un lugar. –

+0

Lo uso cuando se aproxima el trading off. Intento usar una frase que describa lo que significó * el bloque * en lugar de algo tan vago como 'POST_JUNE_DEVELOPMENT'. Sé que volveré a ver este código unos años más tarde y me pregunto quién fue June, qué cargo ocupó o por qué su partida permitió que algo se desarrollara. ;-) – RBerteig

Cuestiones relacionadas