AndroidÖÐÈçºÎµ÷ÊÔC/C++´úÂë - ÒÆ¶¯Æ½Ì¨ / Android
´ÓJavaÓ¦Óò㵥²½µ÷ÊÔµ½C/C++µÄ.so, ·Ö²»¶à£¬Íû¸ßÈ˸ø¸öÌáʾ
Ö»ÄܱàÒë±¾µØ¿ÉÖ´ÐгÌÐò£¬È»ºóÓÃglib
ÉÏÃæËµ´íÁË£¬ÊÇgdb
·¹ý¡¡¡¡°ï¶¥£¡£¡£¡
Õâ¸öÕæµÄ²»ÄÜʵÏÖÂð£¿ÄÇgoogleµÄ¿ª·¢ÈËÔ±Ò²ÊÇͨ¹ý´òlogÀ´¿ª·¢native´úÂ룿
eclipse²»ÊÇÓпÉÒÔµ¥²½µÄô
Ìý˵µÄ£¬ÎÒÒ²Ö»ÊÇÓÃlog¡
ĿǰNative´úÂëÖ»ÄÜÓÃÈÕÖ¾µÄ·½Ê½µ÷ÊÔ£¬»¹Ã»ÓÐÏà¹ØµÄÁª»úµ÷ÊÔ¹¤¾ß£¬ÕâµãÔÚNDKµÄÎĵµÖÐÓÐ˵Ã÷¡£
native code È˼Òд¸önative application¾Í¿ÉÒÔµ÷ÊÔÁË Äãµ÷ÊÔnative codeÊǵ÷ÊÔ×Ô¼ºcode»¹ÊDZðÈ˵Äcode?
ÒòΪÉϲãÊÇjavaµÄÇÒnative»úÖÆÊÇûÓÐÎÊÌâµÄ£¬ËùÒÔ£¬»ù±¾ÉÏÈÏΪ£¬java ´úÂëOK£¬ ÄÇô£¬c/c++ ¾ÍOK¡£
Òò´Ë£¬¾ÍÖ»ÓÐlogÈÕÖ¾ÁË.
¶¥
log£¬Ã²ËÆÄ¾ÓÐÆäËû·½·¨ÁË
ºÇºÇ£¬¿´À´Ñ§JaveµÄÔÚgoogleµÄAndroidƽ̨ÏÂÒ²Òª»áC/C++ÁË
Ïà¹ØÎÊ´ð£º
ÈçÌ⣬C/C++ÖеÄexeclÔõôµ÷ÓÃдºÃµÄjava³ÌÐò£¬
execl("/opt/java1.5/bin/java","MyClass",NULL);
ÕâÑùµÄ²»ÐÐŶ¡£
²»»á.
ÔËÐÐjava³ÌÐò
ÕÒ¹¤¾ß²é¿´Ò»ÏÂÄǸö³ÌÐòµÄÃüÁîÐÐ
ËÑË÷Ï£ºjni ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
ÔھƵê¹ÜÀíϵͳÖÐ,ÓÐÒ»¸ö¶ÔÄÚµÄϵͳ,¹©Ç°Ì¨·þÎñÔ±ºÍ¾ÀíʹÓÃ
»¹ÓÐÒ»¸ö¾ÍÊǶÔÍâ,Èÿͻ§¿ÉÒÔÔÚÍøÉÏÔ¤¶©·¿¼ä,
ËüÃÇÖ®¼äÊÇÔõôͨѶµÄ.?µ±ÎÒÌá½»Ô¤¶©·¿¼äÐÅÏ¢µÄʱºò,
ÔÚ¶ÔÄÚµÄϵͳÖÐ,ÈçºÎÖªµÀÎÒÒѾÌá½»ÁËÐÅÏ¢¹ýÈ¥.Ê¹Ç ......
ÎÒ¸Õ°ÑÌ·ºÆÇ¿µÄµÚÈý°æµÄÊéѧÍ꣬ÎÒÖªµÀµÄÓÐC++£¬CºÍÖ¸Õë CȱÏݺÍÏÝÚå Cר¼Ò±ä³É£¬»¹ÓÐÊý¾Ý½á¹¹£¬ÎÒÏëÎÊÎÊÎÒÓ¦¸ÃÒÔʲô˳ÐòÀ´Ñ§ÄØ
CȱÏݺÍÏÝÚå Cר¼Ò±à³Ì
Êǽø½×µÄ£¬²»Óü±×Å¿´
ÖÁÓÚ
CºÍÖ¸Õë
Äã²»Àí½âÖ ......