Alguien sabe como crear una interfaz gráfica?
Yo también sé jugar a ser estricto.
Me dijo uno un día que hay programas que no se pueden hacer en ensamblador. No que fuera tan complicado que no resultara recomendable, no, decía que era físicamente imposible porque usaban otro sistema o no sé qué rollos. Evidentemente, cualquier cosa que ejecute un procesador no es más que una sucesión de instrucciones en código máquina, y eso se puede pasar al ensamblador apropiado siempre.
Turbo Dump Version 4.2.16.1 Copyright (c) 1988, 1996 Borland International
Display of File C:\WINDOWS\MICROSOFT.NET\ASSEMBLY\GAC_MSIL\SYSTEM.WINDOWS.FORMS\V4.0_4.0.0.0__B77A5C561934E089\SYSTEM.WINDOWS.FORMS.DLL
Old Executable Header
DOS File Size 4FF090h (5238928. )
Load Image Size 450h ( 1104. )
Relocation Table entry count 0000h ( 0. )
Relocation Table address 0040h ( 64. )
Size of header record (in paragraphs) 0004h ( 4. )
Minimum Memory Requirement (in paragraphs) 0000h ( 0. )
Maximum Memory Requirement (in paragraphs) FFFFh ( 65535. )
File load checksum 0000h ( 0. )
Overlay Number 0000h ( 0. )
Initial Stack Segment (SS:SP) 0000:00B8
Program Entry Point (CS:IP) 0000:0000
Portable Executable (PE) File
Header base: 00000080
CPU type 80386
Flags 2022 [ executable linenumbers symbols backwards library ]
DLL flags 8560 [ ]
Linker Version 30.0
Time stamp 5DEA8C0B
O/S Version 4.0
User Version 0.0
Subsystem Version 6.0
Subsystem 0003 [ Windows character ]
Object count 00000003
Symbols offset 00000000
Symbols count 00000000
Optional header size 00E0
Magic # 10B
Code size 004E3C00
Init Data size 00015000
Uninit Data size 00000000
Entry RVA 004E57CE
Image base 7B050000
Code base 00002000
Data base 004E6000
Object/File align 00002000/00000200
Reserved 00000000
Image size 004FE000
Header size 00000200
Checksum 00507B97
Stack reserve/commit 00100000/00001000
Heap reserve/commit 00100000/00001000
Number interesting RVAs 00000010
Name RVA Size
------------------ -------- --------
Exports 00000000 00000000
Imports 004E577C 0000004F
Resources 004E6000 00014C58
Exceptions 00000000 00000000
Security 004F8E00 00006290
Fixups 004FC000 0000000C
Debug 004E5644 0000001C
Description 00000000 00000000
TLS 00000000 00000000
Callbacks 00000000 00000000
reserved 00000000 00000000
reserved 00002000 00000008
reserved 00000000 00000000
reserved 00002008 00000048
reserved 00000000 00000000
Object table:
# Name VirtSize RVA PhysSize Phys off Flags
-- -------- -------- -------- -------- -------- --------
01 .text 004E3B74 00002000 004E3C00 00000200 60000020 [CER]
02 .rsrc 00014C58 004E6000 00014E00 004E3E00 40000040 [IR]
03 .reloc 0000000C 004FC000 00000200 004F8C00 42000040 [IDR]
Key to section flags:
C - contains code
D - discardable
E - executable
I - contains initialized data
R - readable
Imports from mscoree.dll
_CorDllMain
Resources:
Type Name Lang Id
--------------------------------------------
[1 named entries, 2 ID entries]
IBC (next directory @00000028)
[1 named entries, 0 ID entries]
PROFILE_DATA (next directory @00000070)
[0 named entries, 1 ID entries]
0 (data @000000B8)
Offset: 004E610C
Size: 00014568
Code Page: 000004E4
Reserved: 00000000
16 (next directory @00000040)
[0 named entries, 1 ID entries]
1 (next directory @00000088)
[0 named entries, 1 ID entries]
1033 (data @000000C8)
Offset: 004FA674
Size: 00000408
Code Page: 000004E4
Reserved: 00000000
24 (next directory @00000058)
[0 named entries, 1 ID entries]
101 (next directory @000000A0)
[0 named entries, 1 ID entries]
1033 (data @000000D8)
Offset: 004FAA7C
Size: 000001DA
Code Page: 000004E4
Reserved: 00000000
Eso es un volcado de una dll de .net. Como se ve, no hay funciones exportadas, con lo que no se puede cargar con un LoadLibrary y buscar funciones con GetProcAddress. El c++/CLI de microsoft usa otra interfaz intermediaria que carga esa dll y ejecuta su código. Y esa interfaz sí puedes usarla en c++, c o hasta ensamblador.
Dice la chica que es novata con devc++ y pregunta en un foro llamado c/visualc. En esas circustancias yo le digo que un framework fácil de usar es .net, para decirle luego que piense c# y no en c++, y tiene el problema resuelto en poco tiempo.
A mí ni se me ocurre recomendar ahora a alguien usar QT. Si crees que sí es recomendable no voy a discutírtelo, te dejo el hilo para ti solo.