hiperbinculos en consola de C++ (casi solucionado)

Iniciado por nolasco281, 2 Febrero 2014, 10:38 AM

0 Miembros y 1 Visitante están viendo este tema.

x64core

#10
Cita de: dato000 en  4 Febrero 2014, 14:07 PM
Eso ya seria usar Visual C++, que es totalmente diferente a usar C/C++ puro. Ya teniendo las herramientas Visual Studio, yo recomendaría más C#, mucho más practico.
Usar Win32 no tiene nada que ver respecto al compilar Visual C++, esto se puede hacer en MingW,Intel,etc. :silbar:
Además ¿adonde crees que terminan llamando esas librerias que mencionaste en Windows? -> Win32


eferion

Cita de: dato000 en  5 Febrero 2014, 13:49 PM
demuestralo

Es fácil, las librerías SDL, por ejemplo, tienen una versión para linux, otra para windows, otra para mac... por que?? si la máquina sobre la que corre el código puede hasta ser la misma...

básicamente porque al final acaba llamando a funciones o servicios propios del sistema operativo.

En Windows este catálogo de servicios esta ubicado en la api Win32.

Por ejemplo, si tu con SDL creas una ventana... por dónde pasa eso?? el gestor de ventanas forma parte de la api de windows y todos, absolutamente todos los controles gráficos que aparecen en una ventana de windows tienen que pasar por esa api para funcionar. Al final la SDL acabará, tarde o temprano, llamando a la función CreateWindowEx de WinApi.

Es esa api la que proporciona el control de eventos, por ejemplo.

ivancea96

Recuérdese que "Visual" Studio, "Visual" C++, y todos esos, no son mágicos. Usan librerías como todos, y se compilan de forma parecida. El cambio, es que te da un entorno gráfico para que te sea más fácil.

dato000

Cita de: eferion en  5 Febrero 2014, 14:36 PM
Es fácil, las librerías SDL, por ejemplo, tienen una versión para linux, otra para windows, otra para mac... por que?? si la máquina sobre la que corre el código puede hasta ser la misma...

básicamente porque al final acaba llamando a funciones o servicios propios del sistema operativo.

En Windows este catálogo de servicios esta ubicado en la api Win32.

Por ejemplo, si tu con SDL creas una ventana... por dónde pasa eso?? el gestor de ventanas forma parte de la api de windows y todos, absolutamente todos los controles gráficos que aparecen en una ventana de windows tienen que pasar por esa api para funcionar. Al final la SDL acabará, tarde o temprano, llamando a la función CreateWindowEx de WinApi.

Es esa api la que proporciona el control de eventos, por ejemplo.

WAT???? no, no no, eso no trabaja así, SDL es multiplataforma, quien realiza el trabajo de construcción grafica es el compilador, no la API como mencionas, así es como funciona su portabilidad.

WinAPI puede ser considerada como otra libreria totalmente independiente de desarrollo para graficos, pero solo funciona para windows, como conio.h, pero no puede ser comparada en lo más remoto a SDL.



eferion

Cita de: dato000 en  5 Febrero 2014, 17:31 PM
WAT???? no, no no, eso no trabaja así, SDL es multiplataforma, quien realiza el trabajo de construcción grafica es el compilador, no la API como mencionas, así es como funciona su portabilidad.

WinAPI puede ser considerada como otra libreria totalmente independiente de desarrollo para graficos, pero solo funciona para windows, como conio.h, pero no puede ser comparada en lo más remoto a SDL.

Es multiplataforma si.... pero ya te digo yo que la librería compilada en linux no funciona en windows y viceversa.... motivo??

lo que he comentado, que al final se acaba apoyando de una forma o de otra en APIs específicas del sistema operativo.

Que es multiplataforma quiere decir que si con el código X generas una escena con SDL, dicho código te va a servir para compilar un programa tanto en Windows como en Linux que van a funcionar exactamente igual, sin tocar nada de código. Es como Qt... es multiplataforma... ahora si te adentras en sus entrañas descubres que tiene multitud de ifdef para separar las llamadas a la API de windows de las propias para Linux...

Si es que es muy sencillo... SDL permite crear ventanas... pero en Windows, la única entidad que proporciona acceso a esa capa es la API de Windows... o pasas por ahí o pasas por ahí, no tienes elección... otra cosa es que te programes una capa que se ponga encima y te permita abstraerte de la programación directa de la API, que dicho sea de paso es un coñazo.

x64core

#16
Cita de: dato000 en  5 Febrero 2014, 17:31 PM
WAT???? no, no no, eso no trabaja así, SDL es multiplataforma, quien realiza el trabajo de construcción grafica es el compilador, no la API como mencionas, así es como funciona su portabilidad.

WinAPI puede ser considerada como otra libreria totalmente independiente de desarrollo para graficos, pero solo funciona para windows, como conio.h, pero no puede ser comparada en lo más remoto a SDL.
No, el que no sabe como funcionan sos vos, la libreria es multiplataforma a nivel de código.
Para demostrarlo, descarga la libreria para Windows y luego la abris con un editor PE y vas a comprobar que hace importaciones de las
funciones nativas de Windows. todas las librerias que he visto son sólo wrappers hacia la Win32. para que una libreria no llame a la
Win32 deberia tener su propio subsistema y servicios ¿porqué reinventar algo que ya esta hecho? eso es ridiculo. joven chico has
aprendido algo el dia de ahora

Cita de: ivancea96 en  5 Febrero 2014, 15:06 PM
Recuérdese que "Visual" Studio, "Visual" C++, y todos esos, no son mágicos. Usan librerías como todos, y se compilan de forma parecida. El cambio, es que te da un entorno gráfico para que te sea más fácil.

Visual studio es el IDE, Visual C++ es el compilador. el entorno grafico es gracias a Visual Studio no Visual C++ no hay forma de
compararlos.