GLBasic forum

Other languages => GLBasic - es => Topic started by: mentalthink on 2017-Jul-18

Title: #ifdef #endif C++
Post by: mentalthink on 2017-Jul-18
Hola Compañeros, quería haceros una pregunta del pre-Procesador para C++, aunque supongo que en GLbasic será más o menos igual.
Code: (glbasic) [Select]
void show_configuration()
{
std::cout <<
#ifdef _DEBUG
"debug"
#else
"release"
#endif
<< std::endl;
}

Estoy haciendo esté código en CodeBloks, y no me funciona, lo que no se es si yo estoy confundido con el funcionamiento que tiene que hacer, me explico:
Si yo le digo al IDE que compile en modo DEBUG, el programa sabe que está en DEBUG?¿, o tengo que asociarle algún valor como 1 o 0?¿.

Un saludo y gracias como siempre por vuestro tiempo. Saludotes.
Title: Re: #ifdef #endif C++
Post by: hardyx on 2017-Sep-05
Nuevamente siento responder tarde.

CodeBlocks en Windows usa por defecto el compilador MINGW, que es un port de GCC. Este compilador creo que no define nada en modo debug, con lo cual tendrías que definirlo a mano en las "build properties" de Debug con la pestaña "#defines" poner _DEBUG por ejemplo. También puedes mirar las propiedades del compilador (CBlocks permite usar muchos compiladores), en la parte de build properties > compile options > #defines.

Estos defines te sonarán de Visual C++, pero GCC no define nada y depende de la implementación del sistema. GCC está implementado en muchos sistemas (Windows, Linux y todo tipo de aparatos).
Title: Re: #ifdef #endif C++
Post by: mentalthink on 2017-Sep-08
Ok Hardyx gracias... Bueno estoy en Linux aunque GLBasic funciona muy bien en Wine.
Ya me miraré lo que me comentas del GCC que por aquí tengo un librico.
Gracias por la respuesta.