Foros del Web » Programación para mayores de 30 ;) » C/C++ »

mingw-w64

Estas en el tema de mingw-w64 en el foro de C/C++ en Foros del Web. Es bueno este compilador? Es la version 4.9.2. La he instalado y me va de perla. http://sourceforge.net/projects/mingw-w64/ Lo encontre en un foro buscando sobre #include ...
  #1 (permalink)  
Antiguo 25/11/2014, 06:37
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Pregunta mingw-w64

Es bueno este compilador?
Es la version 4.9.2. La he instalado y me va de perla.
http://sourceforge.net/projects/mingw-w64/

Lo encontre en un foro buscando sobre #include <thread> que no me funcionaba con el compilador por defecto de codeblocks y entonces vi un post que lo recomendaba. Llevo algun tiempo con el y si me anda gustando bastante XDD
  #2 (permalink)  
Antiguo 26/11/2014, 01:14
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: mingw-w64

Bueno, MinGW es una de las versiones para Windows del compilador GNU Gcc. Si no me equivoco, la 4.9.2 es la última versión del compilador, así que tú mismo.

Saludos,
  #3 (permalink)  
Antiguo 26/11/2014, 01:51
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: mingw-w64

llevo un par de meses y no me parece mal.
Sobre todo por permitir usar el thread de c++11.
A falta de algo mejor que creo que no hay. XD
  #4 (permalink)  
Antiguo 26/11/2014, 01:59
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: mingw-w64

Algo mejor, me temo que como no sea pagando...
  #5 (permalink)  
Antiguo 26/11/2014, 02:26
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: mingw-w64

El compilador de Microsoft funciona bastante bien... y también se puede conseguir de forma gratuita, ya sea desacargándolo directamente con el SDK de Windows o mediante la correspondiente versión express de Visual Studio.

No digo que sea mejor que MinGW, pero es el que tengo que usar en el trabajo y, de momento, no tengo quejas.

Quizás podría decir en su contra que es tarda más tiempo en adaptarse al estándar que MinGW y que la opción de MinGW facilita el desarrollo en "cross compiling"... tampoco puedo hacer una comparativa adecuada porque yo no tengo alternativa, mi desarrollo se compila con msvc sí o sí :(
  #6 (permalink)  
Antiguo 26/11/2014, 07:30
Avatar de leosansan  
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 11 años, 11 meses
Puntos: 49
Respuesta: mingw-w64

Cita:
Iniciado por vangodp Ver Mensaje
Es bueno este compilador?
Es la version 4.9.2. La he instalado y me va de perla.
http://sourceforge.net/projects/mingw-w64/

Lo encontre en un foro buscando sobre #include <thread> que no me funcionaba con el compilador por defecto de codeblocks y entonces vi un post que lo recomendaba. Llevo algun tiempo con el y si me anda gustando bastante XDD
¿ Y has tenido que desistanlarla previamente el Code::Blocks o la has instalado sobre la existente sin desistalación previa ?.

¡¡¡Saluditos!!!

  #7 (permalink)  
Antiguo 26/11/2014, 11:06
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: mingw-w64

Cita:
El compilador de Microsoft funciona bastante bien... y también se puede conseguir de forma gratuita, ya sea desacargándolo directamente con el SDK de Windows o mediante la correspondiente versión express de Visual Studio.

No digo que sea mejor que MinGW, pero es el que tengo que usar en el trabajo y, de momento, no tengo quejas.

Quizás podría decir en su contra que es tarda más tiempo en adaptarse al estándar que MinGW y que la opción de MinGW facilita el desarrollo en "cross compiling"... tampoco puedo hacer una comparativa adecuada porque yo no tengo alternativa, mi desarrollo se compila con msvc sí o sí :(
Estoy seguro que el compilador de microsoft tiene que ser muy bueno, pero me da miedo jajaja
A ver si un dia lo pongo a probar =)
Gracias por la respuesta. =)


Cita:
Iniciado por leosansan Ver Mensaje
¿ Y has tenido que desistanlarla previamente el Code::Blocks o la has instalado sobre la existente sin desistalación previa ?.

¡¡¡Saluditos!!!

Hola leo.
A ver.. Siempre descargava codeblocks con el mingw que viene por defecto. No es que sea malo, es que un bello dia entre en un tema de hilos al que eferion comentaba una solucion.
Yo como un programador novato que soy entre y pedi si alguien me podia dar un par de ejemplos. Eferion como siempre es un gran maestro me proporciono este código:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <thread>         // std::thread
  3. #include <chrono>
  4. #include <conio.h>
  5. using namespace std;
  6.  
  7. class DataManager {
  8.     public:
  9.    
  10.         DataManager( ) = default;
  11.        
  12.         DataManager ( const DataManager& ) = delete;
  13.        
  14.         ~DataManager( ) = default;
  15.        
  16.         void Run( ) {
  17.             int temp_number = 0;
  18.            
  19.             while ( true ) {
  20.                 char c = getch( );
  21.                 _withData = true;
  22.                
  23.                 if ( c != '\n' && c != '\r' ) {
  24.                     std::cout << c;
  25.                     temp_number *= 10;
  26.                     temp_number += c - '0';
  27.                 } else {
  28.                     std::cout << std::endl;
  29.                     _number = temp_number;
  30.                     break;
  31.                 }
  32.             }
  33.         }
  34.        
  35.         bool WithData( ) const
  36.         { return _withData; }
  37.        
  38.         int Number( ) const
  39.         { return _number; }
  40.        
  41.         const DataManager& operator= ( const DataManager& ) = delete;
  42.        
  43.     private:
  44.    
  45.         bool _withData = false;
  46.         int _number = 0;
  47. };
  48.  
  49. class Timer {
  50.     public:
  51.         using milliseconds = std::chrono::milliseconds;
  52.        
  53.         Timer( ) {
  54.             Reset( );
  55.         }
  56.        
  57.         Timer ( const Timer& ) = delete;
  58.        
  59.         ~Timer( ) = default;
  60.        
  61.         void Reset( ) {
  62.             _start = std::chrono::high_resolution_clock::now( );
  63.         }
  64.        
  65.         milliseconds Elapsed( ) const {
  66.             return std::chrono::duration_cast< milliseconds > ( std::chrono::high_resolution_clock::now( ) - _start );
  67.         }
  68.        
  69.         const Timer& operator= ( const Timer& ) = delete;
  70.        
  71.     private:
  72.         std::chrono::high_resolution_clock::time_point _start;
  73. };
  74.  
  75. int main( ) {
  76.     std::cout << "Introduce un numero." << std::endl;
  77.     std::cout << "Tienes 5 segundos para empezar" << std::endl;
  78.    
  79.     DataManager manager;
  80.    
  81.     std::thread thread { [] ( DataManager * mgr ) { mgr->Run( ); }, &manager };
  82.    
  83.     Timer timer;
  84.    
  85.     while ( timer.Elapsed( ) < std::chrono::seconds { 5 } ) {
  86.         if ( manager.WithData( ) )
  87.             break;
  88.     }
  89.    
  90.     if ( !manager.WithData( ) )
  91.         thread.detach( );
  92.     else
  93.         thread.join( );
  94.        
  95.     if ( manager.WithData( ) )
  96.         std::cout << "Has introducido el numero: " << manager.Number( ) << std::endl;
  97.     else
  98.         std::cout << "No has introducido ningun numero." << std::endl;
  99. }
...que por cierto aun estoy en ello, pero a mi as veces las cosas se toman mas tiempo del normal. XDDD

Lo que pasa es que al compilar, me doy cuenta de que la libreria thread no viene.
entonces pregunte por que seria y me han dicho que era por la version de mingw o no me acuerdo muy bien.
Me habian recomendado por entonces QT al que lo veo muy complicado. No consegui hacer funcionar. =( De consultillas por la red encontre ese instalador al que decian "era de lo mejor" y la verdad es que me parece genial.
Pero ya sabes que pasa con los ignorantes... Que somos felices en nuestra ignorancia por no saber si hay algo mejor. jejeje

Ahora descargo codeblocks sin compilador y instalo ese que dije. Pongo el .-std=C++11 y funciona muy bien el ejemplo que me paso eferion.
Ademas nada de lo que hacia anteriormente lo veo afectado, por eso me parece bueno. Pero en fin...

Gracias por todos por los comentarios.

PD: Sobre lo de pagar lo veo dificil ya que no gano nada con eso, solo hago por que me gusta y estoy en paro hace muuucho. =(
  #8 (permalink)  
Antiguo 27/11/2014, 07:46
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: mingw-w64

Sobre el tema de cuál compilador es mejor, eso es algo que depende de lo que estés buscando: Que compile más deprisa, que el ejecutable ocupe menos espacio, que el ejecutable sea más rápido, si puedes utilizar determinadas librerías de terceros, etc.

Husmeando por ahí, he encontrado esta página:

http://www.willus.com/ccomp_benchmark2.shtml?p19

es una comparativa entre varios compiladores, aunque la última actualización es de 2012 puede dar una idea de cómo va cada compilador en diversos campos.
  #9 (permalink)  
Antiguo 27/11/2014, 10:22
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: mingw-w64

Interesante... Sobre todo el Tine C. No sabia que existia :)
Gracias.

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:48.