A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 JAVA/C Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa Dr. Cesar de Rose Dr. Fernando Dotti Alunos:Alessandro Copetti Caio.

Apresentações semelhantes


Apresentação em tema: "1 JAVA/C Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa Dr. Cesar de Rose Dr. Fernando Dotti Alunos:Alessandro Copetti Caio."— Transcrição da apresentação:

1 1 JAVA/C Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa Dr. Cesar de Rose Dr. Fernando Dotti Alunos:Alessandro Copetti Caio Graco P. Alegretti

2 2 Sumário n Abordagens para Integração Java/C n JNI - Métodos Nativos n Considerações da integração n Etapas de desenvolvimento Java/C n Passagem de parâmetros n Bibliografia

3 3 Abordagens para Integração Java/C n a) Java Native Interface (JNI) –baixo nível –faz parte do JDK n b) TwinPeaks da SunSoft e Ilog Inc. –acessa bibliotecas C++ automaticamente n c) Java/COM –usa ActiveX (Microsoft Windows) n d) CORBA –Joe da Sun; OrbixWeb da Iona.

4 4 JNI - Métodos Nativos n Código Nativo: código escrito em outra linguagem n Necessita uma interface entre Java e o código nativo (“binding”) –stub: ponto de entrada de uma biblioteca C/C++ que pode ser chamada a partir do Java.

5 5 Considerações da Integração Vantagens: n possibilidade de acrescentar funções não presentes nas classes padrão. n Reaproveitar código disponível n acessar características do sistema ou dispositivos n maximizar a velocidade do código

6 6 Considerações da Integração - cont. Desvantagens: n Perda de portabilidade de aplicativos. n Applets não podem executar métodos nativos por default, mas o gerenciador de segurança pode ser customizado n [HOR98]: “última escolha”

7 7 Etapas de desenvolvimento Java/C n 1) Escrever o código Java n 2) Compilar código Java ( javac ListDirJava.java ) n 3) javah para gerar header C. Há 2 opções: –javah ListDirJava (.h) e javah -stub ListDirJava (.c) –javah -jni ListDirJava (.h) n 4) Escrever o código C ( ListDirC.cpp )

8 8 Etapas de desenvolvimento Java/C - cont n 5) Criar uma biblioteca dinâmica –bcc32 -I. -Ic:\jdk1.2beta4\include - Ic:\jdk1.2beta4\include\win32 -tWD ListDirC.cpp –cl /I\arquiv~1\devstudio\vc\include /I\jdk1.1.6\include /I\jdk1.1.6\include\win32 /LD ListDirC.cpp /Felibdestino.dll n 6) Executar o programa –java Main

9 9

10 10 Passagem de parâmetros n A JNI define tipos de dados compatíveis entre C e Java:JavaCbytes –booleanjboolean1 –bytejbyte1 –charjchar2 –shortjshort2 –intjint4 –longjlong8 –floatjfloat4 –doublejdouble8

11 11 Bibliografia n [NEW97] NEWMAN, Alexander. Usando Java. Rio de Janeiro: Campus, 1997. n [HOP96] HOPSON, K. C., INGRAM, S. E. Desenvolvendo Applets com Java, Rio de Janeiro: Campus, 1996. n [HOR98] HORSTMANN, Cay S, CORNELL, Gary. Core Java, vols. 1 e 2. Palo Alto: Prentice Hall, 1998. n Http://www.performancecomputing.com/unixreview/backis su/9707/9707f1.htm. Harley Davis. UNIX Review - Combining Java with C++. 1998.

12 12 Bibliografia - cont. n TwinPeaks: http://www.ilog.com n SUN. http://java.sun.com

13 13 Merci beaucoup par votre attention ! ----------------------------------------------------


Carregar ppt "1 JAVA/C Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa Dr. Cesar de Rose Dr. Fernando Dotti Alunos:Alessandro Copetti Caio."

Apresentações semelhantes


Anúncios Google