SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: AnioN en Martes 27 de Febrero de 2007, 18:05
-
Hola, tengo la necesidad de programar utilizando la api de windows porque ya me resulta impresindible y la verdad que estoy un poco desorientado. Que IDe recomiendan?, referencia de la misma offline se puede conseguir?. Estuve viendo la pagina de c con clase pero explica la api orientada al diseño de GUIs y no es lo que necesito aprender. Necesito algo mas orientado al sistema, como sockets, threads, manejo del sistema de archivos, etc. Actualente estoy usando como IDE el Borland c/c++ 5.02, pero ya esta muy viejo. Muchos de aca usan el Visual c++ 6.0 o quiza el visual c++ .net.
-
Visual C++ 8.0 (es decir vc++.net 2005)
La referencia... la de msdn, si instalas online la version express la referencia de msdn es opcional.
-
VC++ 6.0 es viejo ya, cualquier version de Visual Studio .NET esta bien.
http://msdn.microsoft.com (http://msdn.microsoft.com) es la version completa y casi siempre la mas actualizada PERO es mas lento, instalada en la maquina es mucho mas comodo.
-
baje el cd de Visual c++ .net express, es posible tambien bajar la referencia para tener el cd?, o solo es online o bajarla cada vez que lo instalo?
-
Hay alguna version en español para descargar?
-
no, y si la hay no la conozco.
la unica manera de instalarlo en español es traves de la instalación en linea o obteniendo los cd/dvd
-
Es mas simple usar la API que la MFC?
-
no.
Para el proposito especifico que fueron creados los MFC no.
-
Es mas simple usar la API que la MFC?
Eso dependera de tus conocimientos y soltura en C++, la MFC es una libreria que expone clases para encapsular el funcionamiento de la API de Windows que son funciones hechas compatibles con C.
-
Es mas simple usar la API que la MFC?
Eso dependera de tus conocimientos y soltura en C++, la MFC es una libreria que expone clases para encapsular el funcionamiento de la API de Windows que son funciones hechas compatibles con C.
tengo una base de C++ y mucho mas solida en C. Pero la API por lo que estoy viendo es muchisimo codigo.
-
como dijo Eternal MFC es un Wrapper del Api de Windows. En el Api de windows se debe escribir mas codigo y el MFC es mas comodo de usar, claro esta cuando lo aprendas.
El Visual C++ express NO trae MFC, en cambio de eso podras usar ATL o WTL . para poder usar el API de Windows deberas descagar el PSDK.
-
mmmmmm, de IDE uso el Dev-cpp que ya viene con lo de la api de windos yyyy...
para eso que queres, te subi el manual de referencia de API WIN32
ahi tan todas las funciones detalladas ..
yo queria lo mismo que vos xD y ese manual me salvo ^.^
te explica todo, como hacer hilos,obtener info de la pc,etc,etc,etc,etc xD
aca te subi ese manual : rapidshare.com/files/21334525/BC52HLP1.ZIP.html
enjoy !
si queres lo paso a megaupload ...
-
Muchas gracias a todos por sus respuestas. Estuve viendo un poco en estos dias la API de windows y ahora quiero pegarle una mirada a la MFC para poder comparar un poco por mi cuenta cual me resultaria mas simple. Me pueden recomendar algo para iniciarme con la MFC?
-
El Libro Programacion de Alpicaciones Para Win33 de Fco Javier Ceballos, pero MFC tiene sus desventajas.
-Dependen de unas Dll's, que por supuesto tienen Licencia para su uso.
-El codigo no es muy portable. Al menos que le hagas una conversion a wxWidgets que tiene su similaridad(y grande).
-
tiene futuro seguir usando la API, o ya se trata de evitar, o microsoft tiene una tendencia a que se deje de usar?
-
se trata de evitar y esa es la tendencia...
que si tiene futuro ... lo sera por unos años mas, o puede que nunca se deje de usar del todo pero en esencia es no usarla sino es estrictamente necesario.
-
se trata de evitar y esa es la tendencia...
que si tiene futuro ... lo sera por unos años mas, o puede que nunca se deje de usar del todo pero en esencia es no usarla sino es estrictamente necesario.
si tengo que hacer un proyecto sobre windows y si o si tiene que ser C++ que alternativas hay para dejar de usar la API?. Bueno, ya que mencionaron esta la MFC, wxwidgets y cuales mas?
-
mmmmmm, de IDE uso el Dev-cpp que ya viene con lo de la api de windos yyyy...
para eso que queres, te subi el manual de referencia de API WIN32
ahi tan todas las funciones detalladas ..
yo queria lo mismo que vos xD y ese manual me salvo ^.^
te explica todo, como hacer hilos,obtener info de la pc,etc,etc,etc,etc xD
aca te subi ese manual : rapidshare.com/files/21334525/BC52HLP1.ZIP.html
enjoy !
si queres lo paso a megaupload ...
ya lo descargue, esta muy bueno. Muchas Gracias. Se puede saber de donde lo conseguiste?
-
se trata de evitar y esa es la tendencia...
que si tiene futuro ... lo sera por unos años mas, o puede que nunca se deje de usar del todo pero en esencia es no usarla sino es estrictamente necesario.
si tengo que hacer un proyecto sobre windows y si o si tiene que ser C++ que alternativas hay para dejar de usar la API?. Bueno, ya que mencionaron esta la MFC, wxwidgets y cuales mas?
una mas y mi recomendacion :
.net framework.
-
como dijo Eternal MFC es un Wrapper del Api de Windows. En el Api de windows se debe escribir mas codigo y el MFC es mas comodo de usar, claro esta cuando lo aprendas.
El Visual C++ express NO trae MFC, en cambio de eso podras usar ATL o WTL . para poder usar el API de Windows deberas descagar el PSDK.
si bajo el visual c++ express 2005 para usar la api necesito el PSDK?
-
si
-
.net framework.
La primera vez que intenté leer un código C++ Managed la verdad me revolvió un poco el estómago ;) :P :D. Eso si, con el IDE es muy fácil diseñar los formularios y demás :P.
Yo me decidí por aprender wxWidgets en particular por su característica de ser multiplataforma, pero igual aún tengo entre mis pendientes mirar el C++ managed (o C# :D).
-
.net framework.
La primera vez que intenté leer un código C++ Managed la verdad me revolvió un poco el estómago ;) :P :D. Eso si, con el IDE es muy fácil diseñar los formularios y demás :P.
Yo me decidí por aprender wxWidgets pero en particular por su característica de ser multiplataforma, pero igual aún tengo entre mis pendientes mirar el C++ managed (o C# :D).
claro, porque .net (clr) que tambien es multiplataforma.
-
lo de programar bajo los frameworks o los SDK API's tiene que ver tb con un tema de qué se quiera hacer y bajo que costo... es sierto que los Frameworks son relativamente(va, en realidad no relativamente) más sencillos de programar, que el SDK API, pero trae aparejado un tema de rendimiento bastante particular, y esto se nota cuando haces programas simples (como un "hello world" en el que el mismo programa puede pesar hasta 100 veces más y ocupar 100 veces más memoria), esta diferencia en programas complejos (que superen los 20mb) se amortiguan un poco, pero siempre queda en cuestión que tipo de usuarios van a usar tu programa...
S2
-
lo de programar bajo los frameworks o los SDK API's tiene que ver tb con un tema de qué se quiera hacer y bajo que costo... es sierto que los Frameworks son relativamente(va, en realidad no relativamente) más sencillos de programar, que el SDK API, pero trae aparejado un tema de rendimiento bastante particular, y esto se nota cuando haces programas simples (como un "hello world" en el que el mismo programa puede pesar hasta 100 veces más y ocupar 100 veces más memoria), esta diferencia en programas complejos (que superen los 20mb) se amortiguan un poco, pero siempre queda en cuestión que tipo de usuarios van a usar tu programa...
S2
creo que al usuario no le importa en que lenguaje se hace un programa, lo que le importa es que funcione.
y esde ese punto de vista el punto es que tipo de programa vas a hacer, si es un programa que requiere un altisisimo nivel de computo lo mejor es usar c++ pero este tipo de programas no son muchos.
-
Respecto a que el usuario le interesa que el programa funcione es en parte cierto y en parte no... muchas veces (y sobre todo cuando hay competidores) el usuario busca velocidad, amigabilidad, etc, etc... si vos tenes dos programas que hacen lo mismo, uno te ocupa 100 veces más memoria, es más lento y requiere de muchas librerías... cuál usarías??? Esa es en parte la razón por la cual aun habiendo lenguajes de tan alto nivel se sigan empleando lenguaje de bajo nivel para siertas cosas...
2º En realidad lo que decis del lenguaje no es tan así, programar en C++ con las MFC se asimila bastante a los que es un ejecutable final en Visual Basic (hablo de tamaño de código y de los ejecutables finales)... el C/C++ no sirve solo para hacer programas con elevado número de operaciones matemáticas... sinó mas bien, para poder hacer cosas complejas como simples en un solo lenguaje, es quizás por esto que la mayoría de los programas de Microchot están escritos en C++...
S2
-
Respecto a que el usuario le interesa que el programa funcione es en parte cierto y en parte no... muchas veces (y sobre todo cuando hay competidores) el usuario busca velocidad, amigabilidad, etc, etc...
El tipo e velocidad que busca el usuario no es dependiente del lenguaje, ese tipo de detalles pasan desapercibidos para ellos, ya otra cosa son aplicaciones mal codificadas que en el lenguaje que sea siempre serán lentas... pero a nivel tecnico de velocidad que diferencian a los lenguajes para ellos no existe.. salvo que el usuario final sea un cientifico utilizando aplicaciones de mision critica.
si vos tenes dos programas que hacen lo mismo, uno te ocupa 100 veces más memoria, es más lento y requiere de muchas librerías... cuál usarías???
En el hopotetico caso que que la diferencia fuera de 100 veces en tamaño en memoria alli habria un problema, pero una diferencia de 100 veces el tamaño solo se daria en programas totalmente diferentes. Un usuario final ni siquiera sabe que es una librería.
Esa es en parte la razón por la cual aun habiendo lenguajes de tan alto nivel se sigan empleando lenguaje de bajo nivel para siertas cosas...
Ese no es el motivo.
2º En realidad lo que decis del lenguaje no es tan así, programar en C++ con las MFC se asimila bastante a los que es un ejecutable final en Visual Basic (hablo de tamaño de código y de los ejecutables finales)...
No lo he comprobado pero lo dudo muchisimo.
el C/C++ no sirve solo para hacer programas con elevado número de operaciones matemáticas... sinó mas bien, para poder hacer cosas complejas como simples en un solo lenguaje,
No, de hecho C++ es mas complicado que los lenguajes de mas alto nivel, pero tiene ventajas tecnicas grandes puesto que se puede decir que es el ultimo buen lenguaje de alto nivel que aun genera código de máquina.
-
El tipo e velocidad que busca el usuario no es dependiente del lenguaje, ese tipo de detalles pasan desapercibidos para ellos, ya otra cosa son aplicaciones mal codificadas que en el lenguaje que sea siempre serán lentas... pero a nivel tecnico de velocidad que diferencian a los lenguajes para ellos no existe.. salvo que el usuario final sea un cientifico utilizando aplicaciones de mision critica.
No es tán así... pero más adelante aclararé este punto...
En el hopotetico caso que que la diferencia fuera de 100 veces en tamaño en memoria alli habria un problema, pero una diferencia de 100 veces el tamaño solo se daria en programas totalmente diferentes. Un usuario final ni siquiera sabe que es una librería.
1º la diferencia de 100 la pude observar cuando se programa con algunas librerías de C++ sobre todo... para que te des una idea...
el clásico "helo world" (programas identicos en lo que hacen) en C con API's suele pesar al rededor de 25kb mientras que con otros lenguajes o incluso con C pero con el wxwidgets pesa al rededor de 3 a 4 mb... lo cual es para mi una diferencia notable a la hora de carga en memoria y ejecución...
2º lo de las librerías te lo decía porque muchas veces tube problemas con vbasic y sus librerías, porque para el que lo compila funciona perfecto, ahora cuando hay que llevarlo a otra máquina(sin visual basic instalado), se complica y de manera grosa(hablando como usuario)...
Ese no es el motivo.
En parte si... sobre todo cuando tenes que programar los gestores de recursos(hardware, red, etc), ojo no dije que sea la única razón... pero es una que me dijeron mis profesores...
No lo he comprobado pero lo dudo muchisimo.
no lo dudes tanto... ;)
No, de hecho C++ es mas complicado que los lenguajes de mas alto nivel, pero tiene ventajas tecnicas grandes puesto que se puede decir que es el ultimo buen lenguaje de alto nivel que aun genera código de máquina.
últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases... es algo que me gustó de wxwidgets... las pocas líneas que hay que escribir para hacer cosas complejas....
-
últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases...
Simplemente antologico! :smartass:
-
viste... :hola:
-
últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases...
Simplemente antologico! :smartass:
hace mucho que no leo algo tan "sockqueante".
-
viste... :hola:
últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases...
viste que ???
deberia haberte dado vergüenza escribir eso!!! :blink: <_< :lol:
los tamaños e los ejecutables que hablas a simple vista se ve que son causados por un linkeado estatico de las librerias.
-
1º:.... con la frace " últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases..." me refiero que utlizando ciertas librerías podes crear programas complejos con relativamente pocas líneas (a diferencia de usar C)...
2º: sea linkeado estático o dinámico... ocupan más memoria... o sea... da igual si es un solo archivo que pesa 4 mb o son 300 para un solo programa... la cosa es que es ineficiente para programas chicos... pero está... 0 ganas de gastarme...
S2
-
1º:.... con la frace " últimante C++ se ha acercado mucho a los lenguajes de muy alto nivel con las clases..." se sobre entiende lo que quiero decir... no creo necesario explicarme ya que supongo que son programadores "experimentados"...
Si lo escribieras correctamente seguiria siendo igual de erroneo :lol:
-
Ok... tené razón... :rolleyes:
-
Ok... tené razón... :rolleyes:
Mejor hagamosla corta, ya estas ocupando demasiados mensajes para no decir nada mas que payasadas:
http://en.wikipedia.org/wiki/C%2B%2B (http://en.wikipedia.org/wiki/C%2B%2B)