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


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 387
481  Foros Generales / Foro Libre / Re: Evo Morales anuncia que se realizarán nuevas elecciones en Bolivia en: 12 Marzo 2021, 22:33 pm
La Fiscalía de Bolivia ordena la detención de Áñez y de cinco de sus ministros por terrorismo


Los antiguos titulares de Justicia y Energías, Álvaro Coimbra y Rodrigo Guzmán, ya han sido detenidos.

La Fiscalía de Bolivia ha ordenado la detención de la que se proclamó presidente interina del país, Jeanine Áñez, así como de cinco de sus ministros, como parte del llamado caso 'Golpe de Estado', en el que se investiga el origen de la violencia surgida tras las presidenciales de 2019, en las que el expresidente Evo Morales fue acusado por la oposición de fraude electoral. "La persecución política ha comenzado. El Movimiento al Socialismo (MAS) ha decidido volver a los estilos de la ...
482  Programación / Programación C/C++ / Re: Error al compilar, "error: expected declaration specifiers" en: 12 Marzo 2021, 21:41 pm
Es tu codigo ... no tiene ni main.
483  Programación / Programación C/C++ / Re: Libreria windows.h en: 12 Marzo 2021, 15:28 pm
De nadas  ::)
484  Programación / Programación C/C++ / Re: Libreria windows.h en: 12 Marzo 2021, 07:22 am
No conozco nada mejor documentado que la API de Windows.

https://docs.microsoft.com/en-us/windows/win32/
485  Programación / Programación C/C++ / Re: No puedo crear y compilar proyectos en Mac c++ en: 9 Marzo 2021, 21:58 pm
Supongo que sera un problema del proyecto y no estara compilando Intercambio.cpp. ¿Alguna razon logica para no usar Xcode?



g++ main.cpp:
Citar
$ g++ main.cpp
Undefined symbols for architecture x86_64:
  "Intercambio(int, int)", referenced from:
      _main in main-247a3f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

g++ main.cpp Intercambio.cpp funciona perfectamente.
486  Programación / Programación C/C++ / Re: ¿Como es posible retornar estructuras con la convencion de llamadas cdecl? en: 7 Marzo 2021, 13:19 pm
Aunque sinceramente pense que hacia uso de un ciclo para guardar los datos byte a byte.

A la larga lo terminara haciendo si la estructura es suficientemente extensa.

De nadas  ::)
487  Programación / Programación C/C++ / Re: ¿Como es posible retornar estructuras con la convencion de llamadas cdecl? en: 7 Marzo 2021, 09:43 am
Es a gusto del compilador.

Citar
In regard to how to return values, some compilers return simple data structures with a length of 2 registers or less in the register pair EAX:EDX, and larger structures and class objects requiring special treatment by the exception handler (e.g., a defined constructor, destructor, or assignment) are returned in memory. To pass "in memory", the caller allocates memory and passes a pointer to it as a hidden first parameter; the callee populates the memory and returns the pointer, popping the hidden pointer when returning

https://en.wikipedia.org/wiki/X86_calling_conventions#cdecl

Código
  1. struct _hdr foo (void)
  2.    {
  3.        struct _hdr instance;
  4. instance.data1 = 'A';
  5. instance.data2 = 45.04;
  6. instance.data3 = "PROBANDO 123";
  7.        return instance;
  8.    }

Código
  1. void main()
  2. {
  3. foo();
  4. __debugbreak();
  5. }

Código
  1. 0:000> u main
  2. test!main [c:\src\test.c @ 26]:
  3. 00ffaa50 55              push    ebp
  4. 00ffaa51 8bec            mov     ebp,esp
  5. 00ffaa53 83ec18          sub     esp,18h
  6. 00ffaa56 8d45e8          lea     eax,[ebp-18h]
  7. 00ffaa59 50              push    eax
  8. 00ffaa5a e80e80ffff      call    test!ILT+6760(_foo) (00ff2a6d)
  9. 00ffaa5f 83c404          add     esp,4
  10. 00ffaa62 cc              int     3
  11. 00ffaa63 33c0            xor     eax,eax
  12. 00ffaa65 8be5            mov     esp,ebp
  13. 00ffaa67 5d              pop     ebp
  14. 00ffaa68 c3              ret

Al frenarse en el breakpoint:
0:000> dt test!_Hdr @eax
   +0x000 data1            : 65 'A'
   +0x008 data2            : 45.039999999999999147
   +0x010 data3            : 0x00cc3290  "PROBANDO 123"

Código
  1. 0:000> u test!foo
  2. test!foo [c:\src\test.c @ 15]:
  3. 00ffaa00 55              push    ebp
  4. 00ffaa01 8bec            mov     ebp,esp
  5. 00ffaa03 83ec18          sub     esp,18h
  6. 00ffaa06 c645e841        mov     byte ptr [ebp-18h],41h ;'A'
  7. 00ffaa0a f20f1005a88e0401 movsd   xmm0,mmword ptr [test!_real (01048ea8)] ;ver abajo
  8. 00ffaa12 f20f1145f0      movsd   mmword ptr [ebp-10h],xmm0
  9. 00ffaa17 c745f890320501  mov     dword ptr [ebp-8],offset test!__acrt_initial_multibyte_data+0x220 (01053290) ;ver abajo
  10. 00ffaa1e 8b4508          mov     eax,dword ptr [ebp+8]
  11. 00ffaa21 8b4de8          mov     ecx,dword ptr [ebp-18h]
  12. 00ffaa24 8908            mov     dword ptr [eax],ecx
  13. 00ffaa26 8b55ec          mov     edx,dword ptr [ebp-14h]
  14. 00ffaa29 895004          mov     dword ptr [eax+4],edx
  15. 00ffaa2c 8b4df0          mov     ecx,dword ptr [ebp-10h]
  16. 00ffaa2f 894808          mov     dword ptr [eax+8],ecx
  17. 00ffaa32 8b55f4          mov     edx,dword ptr [ebp-0Ch]
  18. 00ffaa35 89500c          mov     dword ptr [eax+0Ch],edx
  19. 00ffaa38 8b4df8          mov     ecx,dword ptr [ebp-8]
  20. 00ffaa3b 894810          mov     dword ptr [eax+10h],ecx
  21. 00ffaa3e 8b55fc          mov     edx,dword ptr [ebp-4]
  22. 00ffaa41 895014          mov     dword ptr [eax+14h],edx
  23. 00ffaa44 8b4508          mov     eax,dword ptr [ebp+8]
  24. 00ffaa47 8be5            mov     esp,ebp
  25. 00ffaa49 5d              pop     ebp
  26. 00ffaa4a c3              ret

0:000> dD 01048ea8 l1
01048ea8                   45.04
0:000> da 01053290
01053290  "PROBANDO 123"

Ahora podes probar sacando data2 de la estructura, data1 sera devuelto en EAX y data3 en EDX.
488  Programación / Programación C/C++ / Re: puntero a clase con propiedades alojadas en la pila en: 4 Marzo 2021, 02:30 am
Si, todo en memoria dinamica.
489  Programación / ASM / Re: Problema con CommandLineToArgvW en: 28 Febrero 2021, 22:12 pm
Estas llamando a CommandLineToArgvW por lo que te devuelve cadenas anchas donde cada caracter ocupa 16 bits. A printf le podes pasar %ws para comprobarlo.

https://docs.microsoft.com/en-us/windows/win32/learnwin32/working-with-strings

PD. Los moderadores locales no tienen permisos para unir temas.
490  Programación / ASM / Re: Simbolo no resuelto por el linker. en: 28 Febrero 2021, 22:05 pm
De nada  ::)
Páginas: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ... 387
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines