Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Hacer cosas sin librerias

Estas en el tema de Hacer cosas sin librerias en el foro de C/C++ en Foros del Web. Hola estoy estudiando c++ pero en el libro que estoy leyendo y no solo en el te dicen que por ejemplo para obtener flujos del ...
  #1 (permalink)  
Antiguo 19/02/2014, 15:47
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Hacer cosas sin librerias

Hola estoy estudiando c++ pero en el libro que estoy leyendo y no solo en el te dicen que por ejemplo para obtener flujos del teclado tienes que utilizar la librería iostream pero yo no quiero utilizar ninguna librería quiero crear mi código desde 0.

Como se hace lo mismo pero sin utilizar librerías y porque esto no se explica en los tutoriales?

Saludos
  #2 (permalink)  
Antiguo 19/02/2014, 16:32
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Hacer cosas sin librerias

Si no te gusta no la uses ;)
  #3 (permalink)  
Antiguo 19/02/2014, 17:04
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Hacer cosas sin librerias

Hola:

iostream es parte de la librería estándar de C++ , significa forma parte del núcleo del lenguaje. No importa con q compilador o sistema operativo estés programando, siempre vas a poder usarla.
Puedes también usar las funciones
printf
scanf
q son parte de la librería estándar de C y q están disponibles en C++.

Si no quieres usar ninguna de estas 2 librerías pues vas a tener q "hablarle" directamente al sistema operativo.
En el caso de MSDOS tienes la interrupción 21h. http://es.wikipedia.org/wiki/API_del_MS_DOS
Para windows tienes las siguientes funciones q forman parte del API Win32:
- WriteConsoleOutput http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
- ReadConsoleInput http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
En linux simplemente puedes tratar la consola como si fuera un fichero (usualemente /dev/ttyALGO).

Si quieres ir aún más abajo pues consulta este link:
http://www.som30.es/

slds;

nup_
  #4 (permalink)  
Antiguo 20/02/2014, 00:42
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Hacer cosas sin librerias

Cita:
Iniciado por nup_ Ver Mensaje
Hola:

iostream es parte de la librería estándar de C++ , significa forma parte del núcleo del lenguaje. No importa con q compilador o sistema operativo estés programando, siempre vas a poder usarla.
Puedes también usar las funciones
printf
scanf
q son parte de la librería estándar de C y q están disponibles en C++.

Si no quieres usar ninguna de estas 2 librerías pues vas a tener q "hablarle" directamente al sistema operativo.
En el caso de MSDOS tienes la interrupción 21h. http://es.wikipedia.org/wiki/API_del_MS_DOS
Para windows tienes las siguientes funciones q forman parte del API Win32:
- WriteConsoleOutput http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
- ReadConsoleInput http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
En linux simplemente puedes tratar la consola como si fuera un fichero (usualemente /dev/ttyALGO).

Si quieres ir aún más abajo pues consulta este link:
http://www.som30.es/

slds;

nup_
Hola muchas gracias por tu respuesta. La verdad es que no sabia que las librerias estandares forman parte del nucleo del lenguaje. Pensaba que son un conjunto de condigo que te ayuda a realizar tareas. Me gusto mucho el enlace del sistema operativo creo que lo voy a ver entero

Pero creo que me has entendido solo del teclado pero si quiero mostrar en la pantalla una simple imagen que se pueda arrastrar. Es solo un ejemplo que si quiero hacer sin usar ninguna libreria grafica como gl no se como.
Osea como lo hacen las librerias?

Saludos
  #5 (permalink)  
Antiguo 21/02/2014, 09:08
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Hacer cosas sin librerias

Hola:

Técnicamente todas las librerías son "un conjunto de código que te ayuda a realizar tareas", la diferencia es q las librerías estándares vienen por defecto con el lenguaje.
Si no quieres usar ninguna librería para hacer tus programas (por ejemplo: no quieres usar Qt para hacer aplicaciones visuales) debes hacer lo q te dije: "hablarle" al sistema operativo.
Eso trae algunos problemas. Tus programas solo van a poder ejecutarse en ese sistema operativo, o en otros q sean compatibles, o a través de emuladores. También vas a tener q aprender varios conceptos q no tienen nada q ver con el lenguaje en sí, sino q son "interioridades" y trucos del sistema operativo.
Al final puedes terminar escribiendo código q no sea ni tan bueno ni tan óptimo como el q traen las librerías.
Si aún así quieres seguir con la idea, estas son las formas q conozco de hacerlo:
Para Windows tienes el Win API:
http://winapi.conclase.net/curso/index.php
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
http://netcode.cz/img/83/nativeapi.html
para hacer gráficos puedes echarle un vistazo a GDI o DirectX.
Para Linux tienes:
http://man7.org/tlpi/
Linux Kernel API:
http://www.gnugeneration.com/books/l...20/kernel-api/
Estándar POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/
http://en.wikipedia.org/wiki/POSIX
Linux System Call:
http://syscalls.kernelgrok.com/
X11 para visual:
http://www.unix-manuals.com/tutorials/xlib/xlib.html

Si te sientes más aventurero puedes programar tu propios drivers (no apto para cardiacos):
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
http://www.freesoftwaremagazine.com/.../drivers_linux
VGA: http://wiki.osdev.org/VGA_Hardware

slds;

nup_
  #6 (permalink)  
Antiguo 21/02/2014, 10:12
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Hacer cosas sin librerias

Muchas gracias por tu respuesta nup . Ahora todo me quedo mucho mas claro :)
Voy a ver un poco Qt solo para ver como se hace y luego voy con linux . Y creo que voy a intentar con los drivers.
Muchas gracias

Doy el tema como solucionado

Etiquetas: cosas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:16.