elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Librería de Snippets en C/C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] Ir Abajo Respuesta Imprimir
Autor Tema: Librería de Snippets en C/C++  (Leído 26,057 veces)
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Librería de Snippets en C/C++
« Respuesta #30 en: 2 Agosto 2013, 09:14 am »

No creo que haya tanta diferecia, si me lo puedes demostrar las usaré :P
Gracias, voy a informarme, un saludo.

A ver, las llamadas a printf, cout, etc, se comunican directamente con el sistema.

Sin embargo, un system( " ... " ) es más complejo:

* En primer lugar, no es portable.
* En segundo lugar, una llamada a system( "echo ..." ), por ejemplo implica ejecutar el programa pause, es decir, tu aplicación solicita al sistema la ejecucion de la aplicación echo, esta aplicación se ejecuta, recibe el mensaje y entonces hace su propia llamada a printf, después finaliza, se liberan los recursos y tu programa vuelve a recuperar el hilo de ejecución.

Se puede afirmar, por tanto, que usar funciones propias de c y c++ para interactuar con el usuario son muuuuucho más eficientes que usar system.


En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Librería de Snippets en C/C++
« Respuesta #31 en: 2 Agosto 2013, 17:13 pm »

Código
  1. #include <iostream>
  2. #include <chrono>
  3. #include <cstdlib>
  4.  
  5. int main()
  6. {
  7. auto t1 = std::chrono::high_resolution_clock::now();
  8.  
  9. for(int i=0; i<10000; i++)
  10.  system("echo hello");
  11.  
  12. auto t2 = std::chrono::high_resolution_clock::now();
  13.  
  14. auto t3 = std::chrono::high_resolution_clock::now();
  15.  
  16. for(int i=0; i<10000; i++)
  17.  std::cout << "hello" << std::endl;
  18.  
  19. auto t4 = std::chrono::high_resolution_clock::now();
  20.  
  21. auto span = std::chrono::duration_cast<std::chrono::duration<double>>(t2 - t1);
  22.  
  23. std::cout << "It took " << span.count() << "seconds to print text using echo" << std::endl;
  24.  
  25. auto span2 = std::chrono::duration_cast<std::chrono::duration<double>>(t4 - t3);
  26.  
  27. std::cout << "It took " << span2.count() << "seconds to print text using cout" << std::endl;
  28.  
  29. return 0;
  30. }
  31.  

Este código hace una comparación del tiempo que se tarda en imprimir "hello" en pantalla usando system() y llamando a echo; y usando cout. Se debe compilar en modo C++11.
 
Cita de: Output
It took 30.9291 seconds to print text using echo
It took 0.768124 seconds to print text using cout

En fin, no es una buena práctica llamar a system.


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Páginas: 1 2 3 [4] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Nanoalgoritmos, Snippets, Instrucciones, Virutas y Más
Programación General
~ 1 2,465 Último mensaje 19 Agosto 2012, 07:19 am
por sistemx
Librería de Snippets para VB.NET !! (Compartan aquí sus snippets) « 1 2 ... 59 60 »
.NET (C#, VB.NET, ASP)
Eleкtro 592 532,615 Último mensaje 27 Abril 2024, 03:03 am
por Eleкtro
[Snippets] javascript / CSS / HTML5
Desarrollo Web
#!drvy 2 3,517 Último mensaje 19 Marzo 2013, 21:48 pm
por #!drvy
Librería de Snippets para Delphi « 1 2 »
Programación General
crack81 15 21,319 Último mensaje 25 Marzo 2016, 18:39 pm
por crack81
índice de la Librería de Snippets para VB.NET !!
.NET (C#, VB.NET, ASP)
Eleкtro 7 6,579 Último mensaje 4 Julio 2018, 21:35 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines