Autor
|
Tema: Hacer cosas sin librerias (Leído 9,008 veces)
|
patilanz
Desconectado
Mensajes: 481
555-555-0199@example.com
|
Hola estoy estudiando c++ con un libro pero siempre te dicen que tienes que utilizar por ejemplo para obtener flujo por el teclado tienes que utilizar la librería iostream Pero yo quiero saber hacer lo sin utilizar ninguna librería. Osea conectarme con el teclado y esperar a que el usuario introduzca teclas o conectar me con la pantalla y imprimir algo.
Como hacer esto?
Saludos
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
estoy estudiando c++ con un libro pero siempre te dicen que tienes que utilizar por ejemplo para obtener flujo por el teclado tienes que utilizar la librería iostream Ello porque la biblioteca estándar de C++ esta garantizada en aplicaciones que se ejecutan sobre un anfitrión (el SO). Pero yo quiero saber hacer lo sin utilizar ninguna librería. Osea conectarme con el teclado y esperar a que el usuario introduzca teclas o conectar me con la pantalla y imprimir algo. Un SO moderno (por ejemplo MS Windows) no te permite acceder directamente a recursos como el hardware[1], en su lugar utilizas su API, siguiendo el ejemplo si deseas utilizar la Win32 API para aplicaciones de consola la referencia del fabricante se encuentra a partir de la pagina Consoles. Para lo que deseas debes utilizar un SO como MS-DOS o bien, en el caso de MS Windows, [1] Getting started with drivers. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
patilanz
Desconectado
Mensajes: 481
555-555-0199@example.com
|
Hola ppr lo que he entendido todo se realiza con librerías del sistema operativo o estándares ? Si quiero reproducir un sonido que se conecta con los drives de sonido no puedo sin usar una api? Pero si es asi entonces si quiero hacer un drive que tambien es un programa o no?
Saludos
|
|
|
En línea
|
|
|
|
engel lex
|
Hola ppr lo que he entendido todo se realiza con librerías del sistema operativo o estándares ? Si quiero reproducir un sonido que se conecta con los drives de sonido no puedo sin usar una api?
las standares enlazan las de sistema para su uso... Pero si es asi entonces si quiero hacer un drive que tambien es un programa o no? driver* también es un programa, algo más complejo y que tienes que tomar en cuenta que depende de la tarjeta de sonido independientemente (es decir posiblemente si la usas en otra pc no sirva), solo por nombrar uno de cientos de problemas que te dará...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Hola ppr lo que he entendido todo se realiza con librerías del sistema operativo o estándares ? Si quiero reproducir un sonido que se conecta con los drives de sonido no puedo sin usar una api?
Hay mecanismos para comunicarse directamente con los drivers... lo que sucede es que si bajas a ese nivel te encontrarás con el problema de que tus aplicaciones no van a funcionar en equipos diferentes al tuyo. La razón es que los drivers son algo que está muy cercano al hardware y, por tanto, es muy dependiente del mismo. Quiero decir, si cambia el hardware cambian los drivers... y si tú en tu programa no añades la compatibilidad necesaria para detectar, reconocer y utilizar al menos los drivers más comunes del mercado tu aplicación no servirá para mucho. El sistema software de un equipo se estructura en capas. Las capas más bajas y más cercanas al hardware son altamente dependientes del mismo... la finalidad de las capas más altas es proporcionar un entorno independiente y aislado a través del cual sabes que tu código siempre va a funcionar, independientemente de lo que haya por debajo. PD.: no vas a aprender más por programar a bajo nivel, son cosas distintas y cada una tiene su lugar y sus usos.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
|
Re:
« Respuesta #5 en: 20 Febrero 2014, 10:39 am » |
|
Si buscas bajo nivel, te diría ensamblador. Pero hasta ensamblador, usa api de windows y otras.
Enviado desde mi ST21i mediante Tapatalk
|
|
|
En línea
|
|
|
|
Gh057
Desconectado
Mensajes: 1.190
|
Hola patilanz, basícamente la programación es modular, es basa en "divide y vencerás" sea mediante estructuras o funciones, o hasta en el paradigma del POO el código se divide en diferentes partes, formando nuestra solución al problema planteado, según el algoritmo implementado.
El origen y la parte de más bajo nivel es el lenguaje máquina, luego el ensamblador como comúnmente se conoce; pero hasta él tienes diferentes sentencias ya definidas para poder operar... mas en todos los conocidos como lenguaje de medio o alto nivel (porque son más entendibles al humano, no por facilidad o dificultad de implementarlo) tienes funciones implementadas en bibliotecas (verdadera traducción a "library") para utilizar o bien crear las tuyas propias... con ello no solo resuelvas más rápidamente el prolema sino que puedes reutilizar código, ganas tiempo y es más fácil luego mejorar y depurar la aplicación.
Puedes irte creando tus propias funciones, entiéndase implementar algoritmos propios o ya definidos; pero en un futuro entenderás que no sirve "reinventar la rueda" y el usar métodos o funciones desde bibliotecas te permitirá hacer aplicaciones de mejor calidad. Saludos!
|
|
|
En línea
|
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
|
|
|
patilanz
Desconectado
Mensajes: 481
555-555-0199@example.com
|
Hola gracias por sus respuestas ya me ha quedado mas claro. Voy a intentar bajar a un nivel mas bajo para conocer los drivers y lo demás. Pero voy a utilizar las librerías ya existentes aunque siempre quiero conocer como funcionan por dentro ya que en la mayoría de los libros o tutoriales te dice que no se necesario pero yo creo que asi se aprende mucho mas ya que si no sabes como funcionan nunca aprenderás a crear tus propias librerías mas complejas.
Y otra cosa si quieres editar un programa ya existente o crear un exploit para el tendrás que conocer las cosas mas a fondo osea ensamblador y el lenguaje maquina supongo. O por ejemplo cuando creas un programa que necesita utilizar un hardware creado por mi mismo que se conecta por usb necesitas crear tus drivers y todo.
Muchas gracias
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Hola gracias por sus respuestas ya me ha quedado mas claro. Voy a intentar bajar a un nivel mas bajo para conocer los drivers y lo demás. Pero voy a utilizar las librerías ya existentes aunque siempre quiero conocer como funcionan por dentro ya que en la mayoría de los libros o tutoriales te dice que no se necesario pero yo creo que asi se aprende mucho mas ya que si no sabes como funcionan nunca aprenderás a crear tus propias librerías mas complejas. En la librería estándar hay muchas cosas que puedes intentar implementar sin necesidad de meterte en el tema de hardware o APIS. En C++ puedes intentar recrear las STL (vector,list,map...). ya que si no sabes como funcionan nunca aprenderás a crear tus propias librerías mas complejas. Pues te equivocas completamente, no hay ninguna necesidad de saber como se implementan las librerías estándares (sobre todo las que van vía hardware). Tan solo tienes que aprender que hacen y como funcionan. Es un paradigma que se llama "encapsulamiento".
|
|
« Última modificación: 22 Febrero 2014, 12:10 pm por amchacon »
|
En línea
|
|
|
|
patilanz
Desconectado
Mensajes: 481
555-555-0199@example.com
|
Bueno si creo que tienes razón pero si tendrás que entrar en APIS ya que por ejemplo para cambiar el fondo de escritorio de windows no creo que exista una librería para esto o cosas así de los sistemas operativos no comunes.
Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
CDs de controladores y mas cosas, que hacer
Dudas Generales
|
CATBro
|
2
|
2,784
|
12 Marzo 2012, 22:58 pm
por CATBro
|
|
|
CDs de controladores y mas cosas, que hacer????
Software
|
MARTOY
|
7
|
3,036
|
14 Marzo 2012, 05:08 am
por simorg
|
|
|
Hacer cosas como anonimo
Seguridad
|
Chico de fuego
|
5
|
3,524
|
27 Febrero 2015, 16:37 pm
por Chico de fuego
|
|
|
10 cosas que no podrás hacer a partir del 1 de julio por la Ley Mordaza
« 1 2 »
Noticias
|
Scaramanga
|
17
|
5,568
|
3 Julio 2015, 22:08 pm
por Jaixon Jax
|
|
|
6 cosas que puede hacer el GPS además de posicionarte
Noticias
|
El_Andaluz
|
1
|
1,464
|
4 Abril 2020, 15:42 pm
por engel lex
|
|