📄 从 java 程序调用 c-c++ 代码10.htm
字号:
value=unicodeZ> Unicode</OPTION><OPTION value=all>IBM
全部内容</OPTION></SELECT></TD>
<TD class=small><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=5 border=0></TD>
<TD><INPUT class=dwsearch maxLength=100 size=15 name=UserRestriction
height="15"></TD>
<TD><IMG height=1 alt="" src="从 Java 程序调用 C-C++ 代码10.files/c.gif"
width=5 border=0></TD>
<TD width=64><INPUT type=image height=23 alt=搜索 width=64
src="从 Java 程序调用 C-C++ 代码10.files/search.gif" value=Search border=0
name=Search></TD>
<TD vAlign=top><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=34 border=0></TD></TR>
<TR vAlign=top>
<TD class=small colSpan=6><A style="COLOR: #ffffff"
href="http://www-128.ibm.com/developerworks/cn/search/help-dw.html"
target=_blank>高级搜索</A><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=1 border=0></TD></TR>
<TR>
<TD colSpan=6><IMG height=4 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=390
border=0></TD></TR></FORM></TBODY></TABLE></TD></TR>
<TR>
<TD class=hbg width=160 height=21></TD>
<TD class=bbg vAlign=top colSpan=2 height=21> <A class=mainlink
href="http://www-900.ibm.com/cn/">IBM 主页</A><SPAN class=divider> |
</SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/products/index.shtml">产品与服务</A><SPAN
class=divider> | </SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/support/index.shtml">支持与下载</A><SPAN
class=divider> | </SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/account/index.shtml">个性化服务</A></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width=150 bgColor=#ffffff height=1><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#cc6633 height=3><IMG height=3 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#333333 height=1><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#000000 height=1><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#ffffff height=1><IMG height=2 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><FONT face="Verdana, sans-serif" size=-1><A
href="http://www.ibm.com/">IBM</A> : <A
href="http://www.ibm.com/developerworks/cn/index.html">developerWorks
中国网站</A> : <A
href="http://www-128.ibm.com/developerworks/cn/java/index.html">Java</A> :
<A
href="http://www-128.ibm.com/developerworks/cn/views/java/tutorials.jsp">教学
- 在线教程</A></FONT> <BR><IMG alt="用 JNI 进行 Java 编程"
src="从 Java 程序调用 C-C++ 代码10.files/masthead.jpg"></TD>
<TD vAlign=bottom align=right width=*><A
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni.zip"
border="0"><IMG alt="下载 ZIP 文件"
src="从 Java 程序调用 C-C++ 代码10.files/icon-zip.gif" border=0></A><IMG alt=英文原文
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" border=0>
</TD></TR>
<TR>
<TD colSpan=2 height=2><IMG height=2 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width=150 bgColor=#000000 colSpan=6 height=1><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR>
<TR>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;"
onmouseout="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/index.html"
border="0"><IMG alt=主菜单 src="从 Java 程序调用 C-C++ 代码10.files/main.gif"
border=0 name=topmain></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;"
onmouseout="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/index2.html"
border="0"><IMG alt=章节菜单 src="从 Java 程序调用 C-C++ 代码10.files/section.gif"
border=0 name=topsection></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;"
onmouseout="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-5-3.html"
border="0"><IMG alt=给出此教程的反馈意见
src="从 Java 程序调用 C-C++ 代码10.files/feedback.gif" border=0
name=topfeedback></A></TD>
<TD width="100%"
background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><IMG alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif"></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;"
onmouseout="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-2-10.html"
border="0"><IMG alt=上页 src="从 Java 程序调用 C-C++ 代码10.files/previous.gif"
border=0 name=topprevious></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;"
onmouseout="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-2-12.html"
border="0"><IMG alt=下页 src="从 Java 程序调用 C-C++ 代码10.files/next.gif"
border=0 name=topnext></A></TD></TR></TBODY></TABLE>
<TABLE height=400 cellSpacing=0 cellPadding=2 width="100%" bgColor=#ffffff
border=0>
<TBODY>
<TR vAlign=bottom></A><A name=navskip></A>
<TD colSpan=4 height=25><IMG height=25 alt="2.从 Java 程序调用 C/C++ 代码"
src="从 Java 程序调用 C-C++ 代码10.files/titlebar2.jpg" width=562 border=0></TD></TR>
<TR>
<TD width=15 bgColor=#ffffff> </TD>
<TD width=12 bgColor=#ffffff> </TD>
<TD vAlign=top align=left width=* bgColor=#ffffff>
<P><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD width="90%"><FONT face="Verdana, Arial, Helvetica" size=4><B>C++
函数实现</B></FONT></TD>
<TD align=right width=200><FONT face="Verdana, Arial, Helvetica"
size=1><NOBR>第 11 页(共16
页)</NOBR></FONT></TD></TR></TBODY></TABLE><BR><BR></P><FONT
face="Verdana, Arial, Helvetica" size=2>
<P>以下是 Sample1.cpp(C++ 实现)</P><PRE><CODE style="FONT-SIZE: 12px; FONT-FAMILY: Courier New, Courier, monospace">
1. #include "Sample1.h"
2. #include <string.h>
3.
4.JNIEXPORT jint JNICALL Java_Sample1_intMethod
5. (JNIEnv *env, jobject obj, jint num) {
6. return num * num;
7. }
8.
9. JNIEXPORT jboolean JNICALL Java_Sample1_booleanMethod
10. (JNIEnv *env, jobject obj, jboolean boolean) {
11. return !boolean;
12. }
13.
14. JNIEXPORT jstring JNICALL Java_Sample1_stringMethod
15. (JNIEnv *env, jobject obj, jstring string) {
16. const char *str = env->GetStringUTFChars(string, 0);
17. char cap[128];
18. strcpy(cap, str);
19. env->ReleaseStringUTFChars(string, str);
20. return env->NewStringUTF(strupr(cap));
21. }
22.
23. JNIEXPORT jint JNICALL Java_Sample1_intArrayMethod
24. (JNIEnv *env, jobject obj, jintArray array) {
25. int i, sum = 0;
26. jsize len = env->GetArrayLength(array);
27. jint *body = env->GetIntArrayElements(array, 0);
28. for (i=0; i<len; i++)
29. { sum += body[i];
30. }
31. env->ReleaseIntArrayElements(array, body, 0);
32. return sum;
33. }
34.
35. void main(){}
</CODE>
</PRE><BR></FONT></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;"
onmouseout="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/index.html"
border="0"><IMG alt=主菜单 src="从 Java 程序调用 C-C++ 代码10.files/main.gif"
border=0 name=bottommain></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;"
onmouseout="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/index2.html"
border="0"><IMG alt=章节菜单 src="从 Java 程序调用 C-C++ 代码10.files/section.gif"
border=0 name=bottomsection></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;"
onmouseout="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-5-3.html"
border="0"><IMG alt=给出此教程的反馈意见
src="从 Java 程序调用 C-C++ 代码10.files/feedback.gif" border=0
name=bottomfeedback></A></TD>
<TD width="100%"
background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><IMG alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif"></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;"
onmouseout="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-2-10.html"
border="0"><IMG alt=上页 src="从 Java 程序调用 C-C++ 代码10.files/previous.gif"
border=0 name=bottomprevious></A></TD>
<TD background="从 Java 程序调用 C-C++ 代码10.files/sw-gold.gif"><A
onmouseover="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;"
onmouseout="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;"
href="https://www6.software.ibm.com/developerworks/cn/education/java/j-jni/tutorial/j-jni-2-12.html"
border="0"><IMG alt=下页 src="从 Java 程序调用 C-C++ 代码10.files/next.gif"
border=0 name=bottomnext></A></TD></TR>
<TR>
<TD width=150 bgColor=#000000 colSpan=6 height=1><IMG height=1 alt=""
src="从 Java 程序调用 C-C++ 代码10.files/c.gif" width=150></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="从 Java 程序调用 C-C++ 代码10.files/c.gif"
width=1></TD></TR>
<TR vAlign=top>
<TD class=bbg height=21> <A class=mainlink
href="http://www-900.ibm.com/cn/ibm/index.shtml">关于 IBM</A><SPAN
class=divider> | </SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/ibm/privacy/index.shtml">隐私条约</A><SPAN
class=divider> | </SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/ibm/legal/index.shtml">法律条款</A><SPAN
class=divider> | </SPAN><A class=mainlink
href="http://www-900.ibm.com/cn/ibm/contact/index.shtml">联系
IBM</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript1.2 src="从 Java 程序调用 C-C++ 代码10.files/stats.js"
type=text/javascript></SCRIPT>
<NOSCRIPT><IMG height=1 alt="" src="G:\ye\从 Java 程序调用 C-C++ 代码10.files\c(1).gif"
width=1 border=0></NOSCRIPT> </BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -