C/Visual C - Unificar clases

 
Vista:

Unificar clases

Publicado por jhon (17 intervenciones) el 24/07/2005 17:39:48
Hola, mi problema es que tengo unas clases en un monton de archivos con extension .class pero todas ellas las tengo que juntar en un archivo de cabecera de visual c++ con extension .hh o . h u otra cualquiera el caso es que las tengo que unificar en un mismo archivo, ¿Como lo puedo hacer?¿que necesito?¿Existe alguna alternativa?¿Es posible hacer lo que quiero?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Unificar clases

Publicado por King (18 intervenciones) el 24/07/2005 19:48:15
Hola!

Pregunta, de donde sacastelos archivos .class?

Saludos

http://www.novacreations.net
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 25/07/2005 19:27:41
Pues de donde saqué yo los archivos creo que no es de tu interés y yo no debería decirte esto porque deberías saberlo. Sabes como incluir las librerias si o no y dejate de estupideces.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por fernando.gomez (1603 intervenciones) el 25/07/2005 19:34:43
Jhon, el que está diciendo estupideces con todo respeto, eres tú. En C/C++ no hay forma alguna de crear archivos .class. La respuesta de King seguramente te la realizó por esto: los archivos .class son los binarios que genera Java. C y C++ no generan archivos .class (al menos la mayoría de los compiladores no lo hacen). De ahí la pregunta. Yo la verdad no entendí lo que quieres hacer (eso o hiciste una pregunta muy mal formulada). Y la actitud grosera en poco ayudará a que alguien te de un consejo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 25/07/2005 19:44:06
Se que se puede hacer, mi actitud que tu calificas de grosera mas bien es de defensa puesto que esta persona no tiene ningun derecho a preguntarme de donde consigo las librerias, si las quiere que las compre, Si no sabeis resolver el problema, aceptarlo y punto en vez de desviar el tema hacia mi actitud.

Se que se puede hacer y al final lo conseguiré. Mas vale que en vez de hacer de abogado del diablo te dedicaras a aprender un pco mas de programacion y dejar de hacerte el listo fernando gomez .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por fernando.gomez (1603 intervenciones) el 25/07/2005 20:02:01
Pues precísamente por eso te pregunto. Yo no entendí lo que preguntas, y por eso te estoy preguntando, para aprender. Si no quieres ayudar, pues bueno... cada quién.

Va de nuevo. Si los .class que tienes son código, entonces sólo tienes que copiar la declaración de las clases a los archivos de cabecera, algo muy sencillo para alguien que propone "aprender un poco más de programación". Si es un binario, tendrías que conseguirte algún desensamblador. Si el archivo es un binario Java hay varios que el mismo SUN proporciona, sin embargo si esas librerías contienen propiedad intelectual (lo cuál supongo debido a que "actúas a la defensiva") sería algo ilegal. Si el binario fué generado por C o C++, el desensamblador que requerirías sería a lenguaje ensamblador del procesador que utilices. En cualquier caso, no obtendrías el código C/C++, y tendrías que reescribirlo.

Creo que nadie va apoder ayudarte más si no proporcionas más información sobre la naturaleza de los archivos .class.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 25/07/2005 23:32:49
Muy amable por tu respuesta, creo que vamos avanzando bastante. Quizá la solucion que propones de desensamblar las clases sea un camino mas fácil hacia mi proposito, puede que sea ilegal en otro contexto, pero puedo pedir permiso y que me permitan hacerlo, al fin y al cabo trabajo para ellos y no creo que tengan miedo de enseñarme un codigo que ha programado un compañero de trabajo. ¿Me podrias decir cual es el mejor desensamblador que propociona SUN? te confieso que soy programador de VB.NET, c#, c++, asp.net... y algo mas, pero el java no lo he tocado nunca y no se casi nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por King (18 intervenciones) el 26/07/2005 05:32:47
Hola!

Pues vaya.......... no entiendo para que quieres desensamblar las cosas. Lo que puedes hacer (claro si sabes que significa o si conoces google para buscar algo) es utilizar JNI como método de ligar librerías java con código nativo. No tienes que pedirle permiso a nadie, ni preguntar como se hace, lo mas sencillo es obtener un buen libro para principiantes e intentar hacerlo.

Pero bueno, estas ideas son puras estupideces

Saludos!

PD Ayuden a ligar Java con C y así terminar de una vez por todas con el Write once, run everywhere!

http://www.novacreations.net
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 26/07/2005 09:29:22
Sean o no estupideces te dije que no se nada de java y tu me dices que use el JNI, si tan buena es tu solucion podrías explicarla paso a paso? tengo un moton de archivos .class, pero si te es mas facil tambien dispongo del fichero .jar que los contiene. ¿Seguro que sabes hacerlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por lanausee (11 intervenciones) el 26/07/2005 17:35:17
john, mejor pregunta: por que no hacen mi trabajo por mi, que yo soy un incompetente y ni siquiera desquito mi miserable salario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (11 intervenciones) el 26/07/2005 18:33:13
Di lo que quieras, yo solo digo la verdad, he planteado un problema que ninguno, que por cierto os creeis muy sabios, sabeis resolver y eso os molesta y tanto que os molesta que solo os dedicais a atacarme porque os he hecho daros cuenta de que no sois tan sabios.

Mas bien pronto que tarde alguien hará el trabajo por ti. Lanausea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por lanausee (11 intervenciones) el 26/07/2005 19:38:55
el problema que planteas no es de C ni C++ sino de java. Asi que nadie tiene en este foro por que saber las respuesta a algo de java. El problema no es no saber sino no querer aprender y fustigas que alguien no sabe la respuesta cuando andas como perro arrastrado buscando ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por El Mogur (202 intervenciones) el 26/07/2005 10:58:38
¡¿Y no se te ha ocurrido pensar que lo preguntaba no porque quiera las librerias (que al fin y al cabo no has puesto qué librerías son), sino para saber sus orígenes y poder pensar en una posible respuesta?!

Y si miras http://www.lawebdelprogramador.com/news/expertos.php?id=13&texto=C/Visual%20C verás que ese fernando gomez al que acusas de hacerse el listo y le aconsejas que aprenda programación es la segunda persona que más mensajes tiene puestos en este foro, intentando ayudar a la gente.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por King (18 intervenciones) el 26/07/2005 15:55:28
Vaya vaya, pero que educado eres..... lo siento, no tengo ni la mas remota idea de como ayudarte, JNI no puede explicarse con manzanas y palitos como lo que tu necesitas.

Ojalá haya mas preguntones como tu, de verdad que te dan ganas de venir a los foros a ayudar gente

Saludos.

King

PD. Gracias por prestar atención a mis otros posts, para eso estan, para que los lean!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 26/07/2005 17:07:37
Osea que no sabes como resolver el problema, tranquilo no esperaba que supieras, ya lo he solucionado yo solito, y no es con JNI ni con manzanas ni palitos. Quizá un dia lo consigas, quizá. Sigue perdiendo el tiempo contestando con nada.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 26/07/2005 16:50:08
1º-Listo no es una acusacion, es un adjetivo en este caso .
2º-Yo no he dicho que quisiera las librerias, sino que no le incumbe su procedencia y que yo no la puedo revelar.
3º-¿Porque no intentas resolver el problema, en vez de no ayudar nada?
4º-¿Porque no te relajas un poco y no te metes donde no te llaman?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por El Mogur (202 intervenciones) el 26/07/2005 22:52:42
Empezamos otra vez.

Asumimos que tienes un montón de .class o un .jar con todas ellas, que es una librería estupenda que, por alguna razón, quieres utilizar y llamar desde C++. ¿Es eso?

Aunque Java es similar a C++, se supone que no quieres traducir todo el código que hay en esas estupendas clases a C++, porque te puede llevar mucho tiempo, complicaciones de portabilidad, etc., así que la solución más fácil es conseguir llamar a rutinas hechas en Java desde C++ (bueno, en realidad es usando C, no C++...)

¿Y cómo se hace eso? Utilizando el interfaz JNI (Java Native Interface) que proporciona la máquina virtual de Java (JVM). Lo que hay que hacer es, utilizando JNI, lanzar una JVM, desde C++ crear objetos de Java que almacenará la propia JVM, y luego, otra vez desde C++, ejecutar los métodos que quieras de esos objetos.
¿Es fácil de hacer todo esto? Pues depende del nivel que tengas. No es difícil, pero no es trivial. ¿Dónde puedes mirar? En la página de Sun hay tutoriales bastante majos que te dan pistas de por donde empezar.

Utilzar JNI es "bajo nivel". Existe otra alternativa que es utilizar JACE, que como dicen sus desarrolladores "The open source Jace toolkit helps simplify JNI programming". Una vez que sabes como funciona, es muy fácil y rápido; ahora, al principio hay que leer un poquito hasta que consigues el primer ejemplo funcionado.

Y si, por cualqueir razón, lo que quieres es desensamblar el código de los .class, buscas en Google "Java decompiler" y elige. El DJ Java Decompiler yo lo he probado y me funciono. Pero recuerda que el decompilador solo te funcionara si tus "compañeros de trabajo" no han utilizado ninguna herramienta de ofuscación de código para desordenar .class y que no sean fáciles de decompilar.

Saludos.

P.D. Este foro ya no es lo que era.

... ¿Es todo acto de bondad una demostración de poderío? - Unamuno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Unificar clases

Publicado por jhon (17 intervenciones) el 26/07/2005 23:37:22
Ok, muchisimas gracias El Mogur, parece que eres el unico que ha intentado dar una solucion, gracias de nuevo, aunque como ya dije ya resolví el problema.

P.D: por fin una respuesta acerca de mi pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar