?? 從 java 程序調用 c-c++ 代碼9.htm
字號:
value=xmlZ> XML</OPTION><OPTION value=linuxZ>dW
中國特別專題:</OPTION><OPTION value=securityZ> 安全</OPTION><OPTION
value=unicodeZ> Unicode</OPTION><OPTION value=all>IBM
全部內容</OPTION></SELECT></TD>
<TD class=small><IMG height=1 alt=""
src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/c.gif"
width=5 border=0></TD>
<TD width=64><INPUT type=image height=23 alt=搜索 width=64
src="從 Java 程序調用 C-C++ 代碼9.files/search.gif" value=Search border=0
name=Search></TD>
<TD vAlign=top><IMG height=1 alt=""
src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/c.gif" width=1 border=0></TD></TR>
<TR>
<TD colSpan=6><IMG height=4 alt=""
src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#cc6633 height=3><IMG height=3 alt=""
src="從 Java 程序調用 C-C++ 代碼9.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#333333 height=1><IMG height=1 alt=""
src="從 Java 程序調用 C-C++ 代碼9.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#000000 height=1><IMG height=1 alt=""
src="從 Java 程序調用 C-C++ 代碼9.files/c.gif" width=150></TD></TR>
<TR>
<TD width=150 bgColor=#ffffff height=1><IMG height=2 alt=""
src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.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++ 代碼9.files/icon-zip.gif" border=0></A><IMG alt=英文原文
src="從 Java 程序調用 C-C++ 代碼9.files/c.gif" border=0>
<TR>
<TD colSpan=2 height=2><IMG height=2 alt=""
src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/c.gif" width=150></TD></TR>
<TR>
<TD background="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/main.gif"
border=0 name=topmain></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/section.gif"
border=0 name=topsection></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/feedback.gif" border=0
name=topfeedback></A></TD>
<TD width="100%" background="從 Java 程序調用 C-C++ 代碼9.files/sw-gold.gif"><IMG
alt="" src="從 Java 程序調用 C-C++ 代碼9.files/c.gif"></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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-9.html"
border="0"><IMG alt=上頁 src="從 Java 程序調用 C-C++ 代碼9.files/previous.gif"
border=0 name=topprevious></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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-11.html"
border="0"><IMG alt=下頁 src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.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>第 10 頁(共16
頁)</NOBR></FONT></TD></TR></TBODY></TABLE><BR><BR></P><FONT
face="Verdana, Arial, Helvetica" size=2>
<P>以下是 Sample1.c,它是用 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(env, string, 0);
17. char cap[128];
18. strcpy(cap, str);
19. (*env)->ReleaseStringUTFChars(env, string, str);
20. return (*env)->NewStringUTF(env, 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(env, array);
27. jint *body = (*env)->GetIntArrayElements(env, array, 0);
28. for (i=0; i<len; i++)
29. { sum += body[i];
30. }
31. (*env)->ReleaseIntArrayElements(env, 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++ 代碼9.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++ 代碼9.files/main.gif"
border=0 name=bottommain></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/section.gif"
border=0 name=bottomsection></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.files/feedback.gif" border=0
name=bottomfeedback></A></TD>
<TD width="100%" background="從 Java 程序調用 C-C++ 代碼9.files/sw-gold.gif"><IMG
alt="" src="從 Java 程序調用 C-C++ 代碼9.files/c.gif"></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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-9.html"
border="0"><IMG alt=上頁 src="從 Java 程序調用 C-C++ 代碼9.files/previous.gif"
border=0 name=bottomprevious></A></TD>
<TD background="從 Java 程序調用 C-C++ 代碼9.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-11.html"
border="0"><IMG alt=下頁 src="從 Java 程序調用 C-C++ 代碼9.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++ 代碼9.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++ 代碼9.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++ 代碼9.files/stats.js"
type=text/javascript></SCRIPT>
<NOSCRIPT><IMG height=1 alt="" src="G:\ye\從 Java 程序調用 C-C++ 代碼9.files\c(1).gif"
width=1 border=0></NOSCRIPT> </BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -