• Jueves 15 de Mayo de 2025, 04:02

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Eternal Idol

Páginas: 1 ... 169 170 [171] 172 173 ... 205
4251
C/C++ / Re: Potencia De Vc++
« en: Miércoles 19 de Abril de 2006, 18:18 »
Cita de: "JuanK"
:blink: Es cierto no lei bien la pregunta, y respecto a delphi no sabia que era comlpilador, crei que era o tra forma de referirce a object pascal.

thanks  :o
Delphi es, efectivamente, el lenguaje que antes se llamaba Object Pascal pero tambien es el compilador que vende Borland, como el de C++ que vende Microsoft es el VC++.

4252
C/C++ / Re: Potencia De Vc++
« en: Miércoles 19 de Abril de 2006, 17:10 »
Cita de: "JuanK"
Citar
En otro foro alguien dijo que Pascal (Delphi) generaba ejecutables mucho mas pequeños y rapidos que VC++.

Pero en todo caso se supone que el tamaño y velocidad del codigo de maquina generado depende del compilador y de la manera en que este se use y no del lenguaje propiamente, sobre todo con programas sencillos en el nivel que has mostrado no?
Delphi es un compilador especifico y VC++ otro. Por supuesto que la capacidad del programador para usar sus herramientas tiene tambien que ver.

4253
C/C++ / Re: Potencia De Vc++
« en: Miércoles 19 de Abril de 2006, 17:02 »
Un "hello world" de Windows, 1024 bytes tambien:

Código: Text
  1.  
  2. extern "C" __stdcall MessageBoxA(unsigned int, char*, char*, unsigned
  3.  
  4. int);
  5.  
  6. void main()
  7. {
  8.   MessageBoxA(0, "HOLA", "DESDE C", 0);
  9. }
  10.  
  11.  

cl /c thola.cpp
link thola.obj /NODEFAULTLIB /entry:main /merge:.data=.text /merge:.rdata=.text /subsystem:windows user32.lib

4254
C/C++ / Re: Potencia De Vc++
« en: Miércoles 19 de Abril de 2006, 17:02 »
Un hello world de consola de 1024 bytes:

Código: Text
  1.  
  2. #include <windows.h>
  3.  
  4. size_t strlen(char *cadena)
  5. {
  6.   char *ptr = cadena;
  7.   while(*ptr++);
  8.   return ptr - cadena;
  9. }
  10.  
  11. void main()
  12. {
  13.   HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
  14.   char holas[] = "hola mundo";
  15.   DWORD written = 0;
  16.   WriteFile(stdout, holas, strlen(holas), &written, 0);
  17. }
  18.  
  19.  

cl /c hello_std.cpp
link link hello_std.obj /NODEFAULTLIB /entry:main /merge:.rdata=.text kernel32.lib

4255
C/C++ / Potencia De Vc++
« en: Miércoles 19 de Abril de 2006, 16:53 »
En otro foro alguien dijo que Pascal (Delphi) generaba ejecutables mucho mas pequeños y rapidos que VC++. Espero que esto lo contradiga:

simple.cpp:
Código: Text
  1.  
  2. #include <windows.h>
  3.  
  4. #define mainDlg 101
  5. #define okButton 500
  6. HWND mainDlgHandle;
  7.  
  8. int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);
  9.  
  10. int RealEntry()
  11. {
  12.   return WinMain(GetModuleHandle(0), 0, 0, 0);
  13. }
  14.  
  15. INT_PTR CALLBACK mainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  16. {
  17.   HICON mainIcon = 0;
  18.   switch (uMsg)
  19.   {
  20.     case WM_CLOSE:
  21.       EndDialog(hwndDlg, wParam);
  22.     return TRUE;
  23.  
  24.     case WM_INITDIALOG:
  25.       mainDlgHandle = hwndDlg;
  26.       mainIcon = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(101));
  27.       SetClassLong(mainDlgHandle, GCL_HICON, (LONG)mainIcon);
  28.       DestroyIcon(mainIcon);
  29.     break;
  30.  
  31.     case WM_COMMAND:
  32.       switch (LOWORD(wParam))
  33.       {
  34.         case okButton:
  35.           SendMessage(hwndDlg, WM_CLOSE, 0, 0);
  36.         break;
  37.       }
  38.     break;
  39.   }
  40.   return 0;
  41. }
  42.  
  43. int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  44. {
  45.   DialogBox(hInstance, MAKEINTRESOURCE(mainDlg), 0, mainDlgProc);
  46. }
  47.  
  48.  

El script de recursos, about.rc:

Código: Text
  1.  
  2. #include <windows.h>
  3.  
  4. 101 DIALOGEX 0, 0, 229, 50
  5. STYLE DS_FIXEDSYS | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  6. CAPTION "About ..."
  7. LANGUAGE LANG_SPANISH, 0x1
  8. FONT 8, "MS SHELL DLG", 0, 0, 1
  9. {
  10.    CONTROL "Programa de ejemplo v0.1", 0, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 12, 91, 11
  11.    CONTROL "Aceptar", 500, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 157, 7, 60, 14
  12. }
  13.  
  14. 101 ICON MAINICON.ico
  15.  
  16.  

Si ponemos un icono de 1024 bytes obtenemos con estas lineas un ejecutable de 3072 bytes:
rc about.rc
cl /c simple.cpp
link simple.obj /NODEFAULTLIB user32.lib kernel32.lib /entry:RealEntry about.res /merge:.rdata=.text

4256
C/C++ / Re: Una Contribucion De Mi Parte
« en: Miércoles 19 de Abril de 2006, 13:49 »
Se agradece la iniciativa y colaboracion. ¿No seria mejor poder bajar los libros de a uno?  :scream:

4257
La taberna del BIT / Re: Por Fin Tengo Un Buen Camello
« en: Miércoles 19 de Abril de 2006, 09:34 »
Cita de: "cluster"
LA VIDA DEL PROGRAMADOR ES DURA, mal paga ha menos q estes certificado y te piden muchas vainas, por eso opto mejor por soporte como levantar requerimientos y crear documentos FURPS+ y algo de UML. o administrador de red.
de todas formas por algo hay q empezar suerte.
Por lo menos aca ganan mas los programadores y ni hablar en otros paises europeos ...

4258
ASM (Ensamblador) / Re: Traduccion De Codigo C A Ensamblador.
« en: Martes 18 de Abril de 2006, 20:25 »
No hace muchos push's sino que actua como un memcpy con rep movs va copiando byte a byte en la pila  :smartass:

Todo esto lo podes probar muy facilmente con el VC++:

cl /c programa.cpp (con /c le decis que no enlace)
dumpbin /disasm programa.obj

4259
ASM (Ensamblador) / Re: Traduccion De Codigo C A Ensamblador.
« en: Martes 18 de Abril de 2006, 17:56 »
Y si solo hay codigo redundante tampoco genera nada  :devil:

Código: Text
  1.  
  2. void func(int algo)
  3. {
  4.   if (algo == 1)
  5.   {
  6.     int x = 2;
  7.     x++;
  8.     x += 50 * 3;
  9.     x -= 2;
  10.     x *= 25;
  11.   }
  12.   else
  13.   {
  14.     int y = 2;
  15.     y++;
  16.     y += 50 * 3;
  17.     y -= 2;
  18.     y *= 25;
  19.   }
  20. }
  21.  
  22.  

?func@@YAXH@Z (void __cdecl func(int)):
  00000000: C3                 ret

4260
ASM (Ensamblador) / Re: Traduccion De Codigo C A Ensamblador.
« en: Martes 18 de Abril de 2006, 08:50 »
Como nota graciosa les comento que este codigo hoy en dia no genera ni una instruccion en un buen compilador ya que estan muy optimizados  :devil:

4261
ASM (Ensamblador) / Re: Desensamblado
« en: Martes 18 de Abril de 2006, 08:37 »
Cita de: "Instru"
Pero que no se puede volver a ensamblar. Digo, yo hize un desensamblador pero de z80 y uno puede modificar libremente el codigo y reensamblarlo. Tambien depende del desensamblador posiblemente. el IDA es buenisimo sobretodo al usar los archivos de libreria. Esos para que sepas cules son las funciones de la libreria en assembler.
Si pero en ese caso usando un ensamblador ya es como si tuvieras otro programa. ¿Me explico? Ya podes agregar y sacar el codigo que quieras, lo que no es tan facil es agregar codigo al ejecutable ya generado  :comp:

4262
Programación de Videojuegos / Re: Opengl O Dx
« en: Domingo 16 de Abril de 2006, 23:28 »

4263
La taberna del BIT / Re: Bueno Este Foro Está Aburrido. Hablemos
« en: Martes 11 de Abril de 2006, 20:06 »
Cita de: "Angel38"
Muy buen articulo Eternal Idol.
:)

Cita de: "Angel38"
Mi concepto es que si se necesita Dios o sino este mundo estaria acabado hace años.

Entramos en terrento de hipotesis pero igual cabe señalar que el mundo tampoco va por muy buen camino, en todo sentido. Fisicamente esta siendo devastado por el hombre. Al mismo tiempo la distribucion de la riqueza que todavia queda en este mundo es simplemente inaceptable. Dudo de que por la carencia de dios (si, con minuscula  :devil: ) esto fuera peor y de ser asi solo seria culpa de la estupidez humana.

4264
La taberna del BIT / Re: Bueno Este Foro Está Aburrido. Hablemos
« en: Martes 11 de Abril de 2006, 19:10 »
Cita de: "Angel38"
Una de las cosas más ilogicas que la gente hace es que cuando están mal (economicamente o enfermos) dicen es una prueba de dios.

Porque son tan conformes.
Salgan y busquen la solucion.
Un articulo que les puede interesar: http://www.cem.itesm.mx/dacs/publicaciones...37/aocampo.html

4265
La taberna del BIT / Re: Bueno Este Foro Está Aburrido. Hablemos
« en: Martes 11 de Abril de 2006, 09:44 »
No me quiero imaginar entonces donde estoy al haber escuchado canciones como

Hell Bell's de AC/DC
Citar
Cos if good's on the left
Then I'm sticking to the right

Bridge of Death de Manowar
Citar
I Know The One Who Waits Satan Is His Name
Across The Bridge Of Death There He Stands In Flame

PD. Me cago en todas las religiones y dioses inventados.

4266
Visual C++ / Re: Problemas Con Un Clase
« en: Viernes 7 de Abril de 2006, 19:12 »
No encuentra CDlgPronostico, no esta definido.

4267
La taberna del BIT / Re: Reto: Hacer Un Compilador
« en: Jueves 6 de Abril de 2006, 09:23 »
Cita de: "su -"
Un momento, PE es el Object file de Microsoft, creo que estoy mal informado.
Como es el formato de un EXE, es decir, como esta estructurado?
 :blink:
http://en.wikipedia.org/wiki/Portable_Executable  :smartass:

4268
ASM (Ensamblador) / Re: Càlculadora En Assembler
« en: Jueves 6 de Abril de 2006, 09:17 »
Cita de: "iraimach"
:D  Hola, me gustaria que tambien me pasan el codigo de la calculadora, ya que me parece interesante, yo tengo un codigo de una calculadora pero no efectua la operaciones, si la calculadora que ustedes tienen, realiza las operaciones,  :comp: se lo agradeceria si me lo hacen llegar.  mi direccion es:   irafashion69@yahoo.es

    bye, gracias....   :P
Basta!!

Este mensaje es del 2003, dejen de mendigar codigo de una vez, hilo cerrado y asi se cerraran todos los que sean necesarios.

4269
La taberna del BIT / Re: Reto: Hacer Un Compilador
« en: Miércoles 5 de Abril de 2006, 19:51 »
Cita de: "cluster"
pero al utilizar eso estoy utilizando el compilador de vb al generar el resultado?
mejpr dicho mi pregunta es generar un .exe y guardarlo pero por codigo sin ayuda de empaquetados ni nada de eso y despues darle click y que se ejecute.
Entonces lo que necesitas es conocer el formato PE (Portable Executable) ademas de assembly que es lo que vas a escribir (en numeral) como codigo del ejecutable.

4270
La taberna del BIT / Re: Reto: Hacer Un Compilador
« en: Miércoles 5 de Abril de 2006, 18:52 »
Cita de: "cluster"
- algien me podia explicar como hago para generar un .exe que se pueda ejecutar en windows algo sencillo como a = 1 + 2 y que me imprima en pantalla de DOS a=3 solamente eso y que sea preferiblemente en vb
Para usar la consola desde VB vas a tener que usar la API de Windows:

AllocConsole
GetStdHandle STD_OUTPUT_HANDLE para escribir STD_INPUT_HANDLE para leer

Esos handles los podes usar con ReadFile y WriteFile.

4271
La taberna del BIT / Re: Nadie Utiliza El Chat
« en: Viernes 31 de Marzo de 2006, 21:15 »
Las veces que entre no habia ni dios, como ahora mismo.

4273
ASM (Ensamblador) / Re: Calculadora En Assembler
« en: Viernes 31 de Marzo de 2006, 07:39 »
Te voy a ayudar con un consejo: en las clases es muy bueno escuchar lo que el profesor tiene para decir. Si te pide una tarea que te parece exagerada puede ser por dos motivos, estabas en otro mundo o los quiere joder. Si es la segunda, lo lamento mucho, si es la primera es tu problema.

4274
ASM (Ensamblador) / Re: como hacer un temporizador
« en: Miércoles 29 de Marzo de 2006, 23:12 »
Hace una operacion binaria (or) entre un numero decimal y 030h que es equivalente a 48 osea '0'.

4275
Visual C++ / Re: Leer Ficheros En C
« en: Lunes 27 de Marzo de 2006, 11:52 »
Cita de: "swingt81"
si, si, vale...el problema es como seria el codigo en si...tengo el c bastante oxidado
El problema es que no se suelen resolver problemas relacionados con tareas que son responsabilidad de otras personas sino dudas concretas.

Páginas: 1 ... 169 170 [171] 172 173 ... 205