¤¿¤Þ¤Ë¤Ã¤¡£ / 2005-03-05
| Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |
2005-03-05 Sat
¢£ ¼Â¸³¼Â¸³!
ÆñÆÉ²½¥Ä¡¼¥ë¼«¿È¤òÆñÆÉ²½¤·¤Æ¡¤ÆñÆÉ²½Á°¸å¤Ç¼Â¹Ô®ÅÙ¤¬¤É¤ì¤¯¤é¤¤ÊѤï¤ë¤Î¤«¤ò 5 ²ó·×¬¡¥
·ë²Ì! ñ°Ì¤ÏÉá¥
plain 3.743s native 186.557s java 52.721s
n
JNI ¤¬·ã¤·¤¯ÃÙ¤¤¡¥
¤ä¤Ã¤Ñ¤êÀþ·Áõº÷¤Ç¤Ï̵Íý¤¬¤¢¤Ã¤¿¤«¡¥
2 ʬõº÷¤Ë¤·¤Æ¤â¤½¤ó¤Ê·àŪ¤ËÊѤï¤ë¤«¤Ê¤¡¤È¤Á¤ç¤Ã¤Èµ¿Ìä¡¥
¢£ strcmp ¤Ç°ã¤¦Ê¸»úÎ󤬥ޥåÁ¤¹¤ë¡¥
¤Ê¤ó¤«´ª°ã¤¤¤·¤Æ¤ë¤Î¤«¤Ê?
$ cat test.c
#include <stdio.h>
#include <string.h>
int main(){
int i;
int flag = 1;
unsigned char c1[16] = {
0x00, 0x93, 0x06, 0x61, 0x35, 0x31, 0x58, 0x31,
0x45, 0xe4, 0x41, 0x8b, 0x3a, 0xa6, 0x10, 0x06,
};
unsigned char c2[16] = {
0x00, 0xb2, 0xe4, 0xee, 0xa5, 0x98, 0x89, 0x46,
0xe6, 0xbd, 0x5f, 0x83, 0xe2, 0x9b, 0xcd, 0x06,
};
printf("strcmp: %d\n", strcmp(c1, c2));
printf("strncmp: %d\n", strncmp(c1, c2, 16));
for(i = 0; i < 16; i++){
if(c1[i] != c2[i]){
flag = 0;
break;
}
}
printf("compare: %d\n", flag);
return 0;
}
$ gcc --version
gcc (GCC) 3.3.3 (cygwin special)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc -O3 -Wall test.c
$ ./a.exe
strcmp: 0
strncmp: 0
compare: 0
¢£ JNI ¤Î DefineClass
»ÅÍͤˤÏ
jclass DefineClass(JNIEnv *env, jobject loader, const jbyte *buf, jsize bufLen);
¤È¤¢¤ë¤Î¤Ë¡¤$JAVA_HOME/include/jni.h ¤Ë¤Ï
jclass (JNICALL *DefineClass) (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len);
¤È¤¢¤ë¤Î¤Ï¤Ê¤¼¤À?
JNI 1.2, 1.4 ¤Î»ÅÍͤγÈÄ¥¤ò¸«¤Æ¤â¡¤const char *name ¤È¤¤¤¦°ú¿ô¤Ê¤ó¤¾¤Ê¤¤¤Î¤Ë¡¦¡¦¡¦¡¥
¢£ Ƚ¤ê¤Ë¤¯¤¤Ê¸¾Ï¤ò½ñ¤¯ÊýË¡
via ÆÉ½ñµÏ¿ChangeLog
¥á¥â¡¥
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
ºÇ½ª¹¹¿·»þ´Ö: 2008-09-04 19:19





