Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2005-03

¤¿¤Þ¤Ë¤Ã¤­¡£ / 2005-03-05

2005-03
Æü·î²Ð¿åÌÚ¶âÅÚ
12345
6789101112
13141516171819
20212223242526
2728293031

2005-03-05 Sat

¢£ ¼Â¸³¼Â¸³!

ÆñÆÉ²½¥Ä¡¼¥ë¼«¿È¤òÆñÆÉ²½¤·¤Æ¡¤ÆñÆÉ²½Á°¸å¤Ç¼Â¹Ô®ÅÙ¤¬¤É¤ì¤¯¤é¤¤ÊѤï¤ë¤Î¤«¤ò 5 ²ó·×¬¡¥

·ë²Ì! ñ°Ì¤ÏÉá¥

plain    3.743s
native 186.557s
java    52.721s

n
JNI ¤¬·ã¤·¤¯ÃÙ¤¤¡¥
¤ä¤Ã¤Ñ¤êÀþ·Áõº÷¤Ç¤Ï̵Íý¤¬¤¢¤Ã¤¿¤«¡¥
2 ʬõº÷¤Ë¤·¤Æ¤â¤½¤ó¤Ê·àŪ¤ËÊѤï¤ë¤«¤Ê¤¡¤È¤Á¤ç¤Ã¤Èµ¿Ìä¡¥

Referrer (Inside): [2005-03-08-1]
Category: [¸¦µæ][ÆñÆÉ²½]

¢£ 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 ¤È¤¤¤¦°ú¿ô¤Ê¤ó¤¾¤Ê¤¤¤Î¤Ë¡¦¡¦¡¦¡¥

Category: [Java]

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

Á°¤ÎÆü / ¼¡¤ÎÆü / ºÇ¿· / 2005-03

¥«¥Æ¥´¥ê