Una duda que tengo sobre la separacion de interfaz de la implementacion

Iniciado por meoit ARG, 1 Mayo 2014, 01:01 AM

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

meoit ARG

Bueno, aver tengo entendido que un archivo h seria la interfaz de un programa, el archivo h mostraria como se llaman las funciones y variables que hay, si en el archivo h se muestran las funciones miembro (nombre, tipo de la funcion cual es su algoritmo) seria un programa 100 % reutilizable.
tambien tengo entendido que donde esta la funcion main() no se puede ver la implementacion.
Tambien tengo entendido que si tengo un archivo .h que no muentre cada algoritmo de las funciones puedo ejecutarlas pero nose para que sirven.

Espero no equivocarme, con respecto a esto estoy lleno de dudas...

si subo mi programa en .exe... alguien puede sacar el codigo del .h? y el codigo de la implementacion pero sin poder mirarlo?
como lo hace?

Eso es lo que no entiendo (espero me entiendan), osea como se hace para sacar el codigo del programa, o si se sube a alguna pagina directamente o como seria el tema...

Espero ser claro, cualquier cosita que no entiendan preguntenmen

amchacon

Citarsi subo mi programa en .exe... alguien puede sacar el codigo del .h? y el codigo de la implementacion pero sin poder mirarlo?
como lo hace?
Es imposible, no se puede sacar código C++ de un programa a partir de un exe.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

BloodSharp

Cita de: meoit ARG en  1 Mayo 2014, 01:01 AM(...)osea como se hace para sacar el codigo del programa, o si se sube a alguna pagina directamente o como seria el tema...

Se puede utilizar un desamblador o depurador para ver el código de un ejecutable en asembler si eso es lo que preguntás...


B#



Gh057

hola meoit, lo que indicas es como opera una biblioteca (comúnmente mal llamada librería). el código reutilizable lo implementas desde que separas tus funciones del propio main... sin embargo es extremadamente útil diseñar las funciones y compaginarlas en un mismo archivo para utilizarlas en nuevos proyectos. el .h es la cabecera de la biblioteca, es la que se llama desde el main.c, y tiene la declaración de las funciones; la misma puedes comentarla para explicar como se utiliza cada una y para qué sirve. el .c asociado a ella son las funciones desarrolladas las cuales se utilizarán al ser llamadas; ese código puede ser tanto libre como no. saludos.

(agrego) en cuando a la consulta sobre el .exe, no puedes obtener código c o c++ desde el binario, si puedes desensamblarlo mediante un decompilador y analizando el mismo comprender cómo funciona.
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

Vaagish

Creo que acá esta clarisimo -> http://es.wikipedia.org/wiki/Archivo_de_cabecera

CitarUn header file contiene, normalmente, una declaración directa de clases, subrutinas, variables, u otros identificadores. Aquellos programadores que desean declarar identificadores estándares en más de un archivo fuente pueden colocar esos identificadores en un único header file, que se incluirá cuando el código que contiene sea requerido por otros archivos

Con respecto a ver el código de un exe, no hay mucho que agregar,, solo que hay que saber ASM para entender el resultado de un desensamblado..

Saludos!