﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-tianzhihua-文章分类-JAVA JNI</title><link>http://www.blogjava.net/tianzhihua/category/19901.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 13 Mar 2007 10:20:03 GMT</lastBuildDate><pubDate>Tue, 13 Mar 2007 10:20:03 GMT</pubDate><ttl>60</ttl><item><title>JAVA通过JNI调用C</title><link>http://www.blogjava.net/tianzhihua/articles/99721.html</link><dc:creator>gyb</dc:creator><author>gyb</author><pubDate>Tue, 13 Feb 2007 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/tianzhihua/articles/99721.html</guid><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #000000">package com;<br /><br /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> JniTest {<br /><br />    </span>
				<span style="COLOR: #008000">/*</span>
				<span style="COLOR: #008000">
						<br />     * 本地方法<br />     </span>
				<span style="COLOR: #008000">*/</span>
				<span style="COLOR: #000000">
						<br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> native </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">get</span>
				<span style="COLOR: #000000">();<br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> native </span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> i);<br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> native </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> getName();<br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> native </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> setName(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> i);<br />    <br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> main(String[] args) {<br />        System.loadLibrary(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">jnitest</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />        JniTest.setName(</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">);<br />        JniTest.setName(</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">);<br />        <br />        JniTest t1 </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> JniTest();<br />        t1.</span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">11</span>
				<span style="COLOR: #000000">);<br />        <br />        JniTest t2 </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> JniTest();<br />        t2.</span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #000000">22</span>
				<span style="COLOR: #000000">);<br />        <br />        System.</span>
				<span style="COLOR: #0000ff">out</span>
				<span style="COLOR: #000000">.println(JniTest.getName());<br />        System.</span>
				<span style="COLOR: #0000ff">out</span>
				<span style="COLOR: #000000">.println(t1.</span>
				<span style="COLOR: #0000ff">get</span>
				<span style="COLOR: #000000">());<br />        System.</span>
				<span style="COLOR: #0000ff">out</span>
				<span style="COLOR: #000000">.println(t2.</span>
				<span style="COLOR: #0000ff">get</span>
				<span style="COLOR: #000000">());<br />    }<br />}<br /></span>
		</div>
		<br />用javah -jni -d "T:/c/jnitest" com.JniTest得到com_JniTest.h头文件<br /><font style="BACKGROUND-COLOR: #ffffff" color="#ff0000">将下面代码的#include &lt;jni.h&gt;改为#include "jni.h"</font><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> DO NOT EDIT THIS FILE - it is machine generated </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">jni.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> Header for class com_JniTest </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br />#ifndef _Included_com_JniTest<br /></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> _Included_com_JniTest</span><span style="COLOR: #000000"><br />#ifdef __cplusplus<br /></span><span style="COLOR: #0000ff">extern</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br /> * Class:     com_JniTest<br /> * Method:    get<br /> * Signature: ()I<br /> </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />JNIEXPORT jint JNICALL Java_com_JniTest_get<br />  (JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">, jobject);<br /><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br /> * Class:     com_JniTest<br /> * Method:    set<br /> * Signature: (I)V<br /> </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />JNIEXPORT </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> JNICALL Java_com_JniTest_set<br />  (JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">, jobject, jint);<br /><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br /> * Class:     com_JniTest<br /> * Method:    getName<br /> * Signature: ()I<br /> </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />JNIEXPORT jint JNICALL Java_com_JniTest_getName<br />  (JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">, jclass);<br /><br /></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br /> * Class:     com_JniTest<br /> * Method:    setName<br /> * Signature: (I)V<br /> </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />JNIEXPORT </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> JNICALL Java_com_JniTest_setName<br />  (JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">, jclass, jint);<br /><br />#ifdef __cplusplus<br />}<br /></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br /></span></div><br />建立C工程：<br /><img height="480" alt="4.JPG" src="http://www.blogjava.net/images/blogjava_net/tianzhihua/4.JPG" width="741" border="0" /><br /><br />在工程中加入头文件com_JniTest.h   jni_md.h   jni.h<br /><img height="534" alt="5.JPG" src="http://www.blogjava.net/images/blogjava_net/tianzhihua/5.JPG" width="437" border="0" /><br />创建一个新的C文件jnidll.c<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com_JniTest.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><br />jint n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><br />JNIEXPORT jint JNICALL Java_com_JniTest_get(JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env, jobject obj)<br />{<br />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> n;<br />}<br /><br />JNIEXPORT </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> JNICALL Java_com_JniTest_set(JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env, jobject obj, jint i)<br />{<br />    n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i;<br />}<br /><br />JNIEXPORT jint JNICALL Java_com_JniTest_getName(JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env, jclass cls)<br />{<br />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> n</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">;<br />}<br /><br /><br />JNIEXPORT </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> JNICALL Java_com_JniTest_setName(JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env, jclass cls, jint i)<br />{<br />    n </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">;<br />}<br /></span></div>生成DLL文件给JAVA调用,DLL文件名为改为jnitest.dll好使得System.loadLibrary("jnitest");可以找到文件<br /><br /><br />注意：如果出现找不到方法的异常请修改jni_md.h中#define JNICALL __stdcall为：#define JNICALL然后重新编译DLL<img src ="http://www.blogjava.net/tianzhihua/aggbug/99721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tianzhihua/" target="_blank">gyb</a> 2007-02-13 16:52 <a href="http://www.blogjava.net/tianzhihua/articles/99721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C，C++调用JAVA</title><link>http://www.blogjava.net/tianzhihua/articles/99709.html</link><dc:creator>gyb</dc:creator><author>gyb</author><pubDate>Tue, 13 Feb 2007 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/tianzhihua/articles/99709.html</guid><description><![CDATA[将 jvm.lib 文件拷贝倒C＋＋工程相应的目录下<br />对C＋＋工程进行配置<img height="446" alt="3.JPG" src="http://www.blogjava.net/images/blogjava_net/tianzhihua/3.JPG" width="677" border="0" /><br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jni.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br />{<br />    jclass javaClass;<br />    jmethodID mid;<br />    jstring msg;<br />    jobject obj;<br /><br />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> first;<br />    <br />    jint res;<br />    JNIEnv </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL;<br />    JavaVM </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">jvm </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL;<br />    JavaVMInitArgs vm_args;<br />    JavaVMOption options[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">];<br /><br /><br />    vm_args.version </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> JNI_VERSION_1_4;<br /><br />    options[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].optionString </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-Djava.compiler=NONE</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    options[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">].optionString </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-Djava.class.path=.;./swt.jar</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    options[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">].optionString </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-verbose:jni</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />    options[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">].optionString </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-Djava.library.path=.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><br />    vm_args.version </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> JNI_VERSION_1_2;<br />    vm_args.nOptions </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;<br />    vm_args.options </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> options;<br />    vm_args.ignoreUnrecognized </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> JNI_TRUE;<br /><br />    res </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> JNI_CreateJavaVM(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">jvm,(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">**</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">env,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">vm_args);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">创建Java VM</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(res </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br />    {<br />        fprintf(stderr,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Can't create Java VM\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />        exit(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br />    }<br /><br />    <br />    system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br />    javaClass </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">FindClass(env, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">com/Snippet120</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">得到java类</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    mid </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetMethodID(env,javaClass,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;init&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">()V</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">得到构造方法</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    obj </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">env)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">NewObject(env,javaClass, mid,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">根据构造方法得到一个新的对象</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">mid = (*env)-&gt;GetMethodID(env,javaClass,"toString","()Ljava/lang/String;");//得到对象的一个方法<br /><br />    msg =  (jstring)(*env)-&gt;CallObjectMethod(env, obj, mid);//调用方法<br /><br />    first = (char*)(*env)-&gt;GetStringUTFChars(env,msg,NULL);//类型转换<br /><br />    fprintf(stdout,"%s",first);</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br />    fprintf(stdout,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-------</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br /><br />    system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Pause</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br />    (</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">jvm)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">DestroyJavaVM(jvm);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">注销Java VM</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000"><br />    fprintf(stdout,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Java VM destroy.\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br />    exit(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br />}<br /></span></div><br />创建存放目录Run（下面的文件目录在JDK安装目录中都能找倒）：<br />Run（手工建立目录）<br />----bin（手工建立目录）<br />      ----classic（手工建立目录）<br />            ----jvm.dll（文件,JDK安装目录中有）<br />            ----自己的JAR包，如果是class文件把包目录和文件一起拷贝过来<br />                                              如果是jar文件，需要在options[1].optionString = "-Djava.class.path=.;./swt.jar";中设置<br />            ----JniC.exe,C调用JAVA的程序<br />      ----hpi.dll（文件,JDK安装目录中有）<br />      ----ioser12.dll（文件,JDK安装目录中有）<br />      ----java.dll（文件,JDK安装目录中有）<br />      ----net.dll（文件,JDK安装目录中有）<br />      ----verify.dll（文件,JDK安装目录中有）<br />      ----zip.dll（文件,JDK安装目录中有）<br />----lib（手工建立目录）<br />      ----zi(目录，JDK安装目录中有，全部拷贝过来)<br />      ----rt.jar（文件,JDK安装目录中有）<br />      ----tzmappings（文件,JDK安装目录中有）<br /><img src ="http://www.blogjava.net/tianzhihua/aggbug/99709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tianzhihua/" target="_blank">gyb</a> 2007-02-13 16:11 <a href="http://www.blogjava.net/tianzhihua/articles/99709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>