»ã±à½ÒÃØCÓïÑÔÖеIJÎÊý´«µÝÎÊÌâ[zz]
ÎÄÕÂ×÷Õߣºcook702
ºÜ¶àѧϰ»ã±àµÄÅóÓÑÏë±Ø¶ÔCÒ²±È½ÏÁ˽⣬ÒòΪÔÚµ±Ç°´óѧµÄ¿Î³ÌÌåϵÀËüºÜÓпÉÄܾÍÊÇÄã½Ó´¥µ½µÄµÚÒ»Ãűà³ÌÓïÑÔ¡£ÓÉÓÚ¶Ô¼ÆËã»úµÄÀí½â²»¹»£¬Ñ§Ï°Ê±±Ø¶¨»áÓö
µ½¸÷ÖÖÎÊÌâ¡£ÓÐЩÎÊÌâÊÇÄãͨ¹ý˼¿¼¾Í¿ÉÒÔ½â¾öµÄ£¬¶ø¸ü¶àµÄÎÊÌâÔòÊÇÄãÎÞ´Ó˼¿¼£¬¾ÍºÃÏñËüÌìÉú¾ÍÊÇÕâÑù£¬ÄãÖ»Òª¼Çס¾ÍOKÁË¡£È»¶øÕâÑùµÄѧϰ·½Ê½ÊÇ»úеµÄ£¬
¸üÊÇûÓд´ÔìÁ¦µÄ¡£Ö»ÓÐÕæÕýÀí½âÁËCÓïÑÔ£¬Äã²ÅÓÐÄÜÁ¦È¥¼ÝÔ¦Ëü£¬·ñÔòËüºÍÄãÖ®¼äÓÀÔ¶»á¸ô×ÅÒ»²ã´°»§Ö½£¬ËäÈ»ºÜ±¡£¬µ«ÊÇÄãÓÀԶҲͱ²»Í¸¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿Æäʵ
µÀÀíºÜ¼òµ¥£¬¾ÍºÃ±ÈÔÚÒ»¸ö¹«Ë¾ÓÐÏֳɵĴúÂë¿â¿ÉÒÔµ÷Óã¬ÓеijÌÐòÔ±Óöµ½ÎÊÌâʱ£¬ËûΨһ¿É×÷µÄ¾ÍÊǵ÷ÓôúÂë¿âÖеŦÄÜÄ£¿é£¬Íêʺó¾ÍÍòÊ´󼪡£¶øÓеijÌÐòÔ±
ÔòÊÇÖ»ÒªÓÐʱ¼äÄþ¿É×Ô¼ºÊµÏÖ¡£¼´Ê¹Ã»ÓÐʱ¼ä£¬µ÷ÓÃÍê´úÂë¿âÖеŦÄÜÄ£¿é£¬Ëû»¹»áÏ룬Èç¹ûÊÇ×Ô¼º£¬Õâ¸ö¹¦ÄÜÓ¦¸ÃÈçºÎʵÏÖ£¬´úÂë¿âÖеÄÄ£¿éÊÇ·ñÓв»Í×Ö®´¦£¬½ø
¶ø¶ÔÆä¹¦Äܲ»¶Ï½øÐиĽøºÍÍêÉÆ¡£Õâ¿ÉÄܾÍÊÇרҵºÍ·ÇרҵµÄÖØÒªÇø±ð¡£¶øÄÇЩ²»ÉÆÓÚ˼¿¼µÄ³ÌÐòÔ±£¬½«À´ºÜÓпÉÄܾͻá³ÉΪÎÒÃÇÑÛÖеē´úÂ빤ÈË”¡£
ÄÇôÈçºÎ²ÅÄÜÕæÕýÀí½âCÓïÑÔÄØ£¿´ð°¸¾ÍÊÇ»ã±à¡£»ã±àÖ¸ÁîÊÇ»úÆ÷Ö¸ÁîµÄÖú¼Ç·û±íʾ ......
Ò»¡¢¿ÉÖØÈ뺯Êý
1£©Ê²Ã´ÊÇ¿ÉÖØÈëÐÔ£¿
¿ÉÖØÈ루reentrant£©º¯Êý¿ÉÒÔÓɶàÓÚÒ»¸öÈÎÎñ²¢·¢Ê¹Ó㬶ø²»±Øµ£ÐÄÊý¾Ý´íÎó¡£Ïà·´£¬ ²»¿ÉÖØÈ루non-reentrant£©º¯Êý²»ÄÜÓɳ¬¹ýÒ»¸öÈÎÎñËù¹²Ïí£¬³ý·ÇÄÜÈ·±£º¯ÊýµÄ»¥³â£¨»òÕßʹÓÃÐźÅÁ¿£¬»òÕßÔÚ´úÂëµÄ¹Ø¼ü²¿·Ö½ûÓÃÖжϣ©¡£¿ÉÖØÈ뺯Êý¿ÉÒÔÔÚÈÎÒâʱ¿Ì±»Öжϣ¬ÉÔºóÔÙ¼ÌÐøÔËÐУ¬²»»á¶ªÊ§Êý¾Ý¡£¿ÉÖØÈ뺯ÊýҪôʹÓñ¾µØ±äÁ¿£¬ÒªÃ´ÔÚʹÓÃÈ«¾Ö±äÁ¿Ê±±£»¤×Ô¼ºµÄÊý¾Ý¡£
2£©¿ÉÖØÈ뺯Êý£º
²»ÎªÁ¬ÐøµÄµ÷ÓóÖÓо²Ì¬Êý¾Ý¡£
²»·µ»ØÖ¸Ïò¾²Ì¬Êý¾ÝµÄÖ¸Õ룻ËùÓÐÊý¾Ý¶¼Óɺ¯ÊýµÄµ÷ÓÃÕßÌṩ¡£
ʹÓñ¾µØÊý¾Ý£¬»òÕßͨ¹ýÖÆ×÷È«¾ÖÊý¾ÝµÄ±¾µØ¿½±´À´±£»¤È«¾ÖÊý¾Ý¡£
Èç¹û±ØÐë·ÃÎÊÈ«¾Ö±äÁ¿£¬¼ÇסÀûÓû¥³âÐźÅÁ¿À´±£»¤È«¾Ö±äÁ¿¡£
¾ø²»µ÷ÓÃÈκβ»¿ÉÖØÈ뺯Êý¡£
3£©²»¿ÉÖØÈ뺯Êý£º
º¯ÊýÖÐʹÓÃÁ˾²Ì¬±äÁ¿£¬ÎÞÂÛÊÇÈ«¾Ö¾²Ì¬±äÁ¿»¹ÊǾֲ¿¾²Ì¬±äÁ¿¡£
º¯Êý·µ»Ø¾²Ì¬±äÁ¿¡£
º¯ÊýÖе÷ÓÃÁ˲»¿ÉÖØÈ뺯Êý¡£
º¯ÊýÌåÄÚʹÓÃÁ˾²Ì¬µÄÊý¾Ý½á¹¹£»
º¯ÊýÌåÄÚµ÷ÓÃÁËmalloc()»òÕßfree()º¯Êý£»
º¯ÊýÌåÄÚµ÷ÓÃÁËÆäËû±ê×¼I/Oº¯Êý¡£
º¯ÊýÊÇsingletonÖеijÉÔ±º¯Êý¶øÇÒʹÓÃÁ˲»Ê¹ÓÃÏ̶߳ÀÁ¢´æ´¢µÄ³ÉÔ±±äÁ¿ ¡£
×ܵÄÀ´Ëµ£¬Èç¹ûÒ»¸öº¯ÊýÔÚÖØÈëÌõ¼þÏÂʹÓÃÁËδÊܱ£»¤µÄ¹²ÏíµÄ×ÊÔ´£¬ÄÇôËüÊDz»¿ ......
CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©
µÚ¶þÕ »ù±¾ÖªÊ¶
»·¾³£º·ÖΪ·ÒëºÍÖ´ÐÐ2¸ö¹ý³Ì¡£ÆäÖзÒë¿ÉÒÔÀí½âΪÊÇÒ»¸ö´Ó³ÌÐò—Ä¿±ê´úÂë—Á´½ÓÆ÷µÄ¹ý³Ì¡£±àÒë¹ý³ÌÓУº
1Ô¤´¦ÀíÆ÷£º´¦Àí#define #includeÕâÒ»Àà´úÂëµÄ¹ý³Ì£»
2Ô´´úÂë½âÎö£º²úÉú´íÎóºÍ¾¯¸æ£»
3ÓÅ»¯Æ÷£ºÓÐÀûÓÚÓÅ»¯´úÂ룬Ìá¸ßЧÂÊ¡£
Ö´ÐеĹý³ÌÓÐ
1 ³ÌÐòÔØÈëÄڴ棺ÔÚOSµÄ°ïÖúÏ£¬½«´úÂëÔØÈëµ½ÄÚ´æÀÕâÑù²Å¿ÉÒÔÅܵÃÁ˰¡
2 Ö´ÐУº²»Í¬µØ·½ÉùÃ÷µÄ±äÁ¿¶¼ÔÚÄÚ´æÖв»Í¬µÄλÖᣱÈÈç¾Ö²¿±äÁ¿µÈ¾Í´æÔÚ¶ÑÕ»ÖУ¬¶ø¾²Ì¬±äÁ¿Ôò´æÔÚ¾²Ì¬Çø
3 ÖÕÖ¹£ºÕâÀïÒ²·ÖΪÕý³£ÖÕÖ¹£¨±ÈÈçÅܵ½Ö÷º¯Êý×îºóÒ»¾ä·µ»Ø£©ºÍÒì³£ÖÕÖ¹µÈµÈ
´Ê·¨¹æÔò
ANSI C¹æ¶¨Á˳ÌÐòµÄº¯ÊýÉùÃ÷ÊÇÃèÊöÁ˺¯ÊýÒª²Ù×÷µÄÊý¾ÝÀàÐÍ£¬¶øº¯ÊýÔòÊǶ¨ÒåÁËÒªÖ´ÐеŤ×÷
´Ê·¨ÀïµÄ¶«Î÷ûʲô¿É¶à˵µÄ£¬×¢ÊͲ»ÄÜǶÌ×£¬±êʶ·û²»ÄÜÓùؼü×Ö»òÕßÊý×Ö¿ªÍ·£¬³ÌÐò·ç¸ñµÄËõ½øÊ½¶¼ÊÇÀÏÉú³£Ì¸£¬Î¨Ò»Ð¿´µ½µÄÊÇÈý×Öĸ´Ê£º¾Ù¸öÀý×Ó¾ÍÊÇ??(Òâ˼ÊÇ[ £¬??/µÄÒâ˼ÊÇ\ £¬Õâ¸ö´ÓÀ´Ã»ÓÐÓùý£¬²»¹ýºÃÏñҲûɶÓá£
¾Ù¸öÀý×Ó printf(“Del ......
Ò»¡¢±à¼JavaÔ´Îļþ
=============================================
Hello.java
=============================================
package test;
public class Hello
{
static
{
try
{
//´Ë´¦¼´Îª±¾µØ·½·¨ËùÔÚÁ´½Ó¿âÃû
System.loadLibrary("libhello");
}
catch(UnsatisfiedLinkError e)
{
System.err.println( "Cannot load hello library:\n " + e.toString() );
}
}
public Hello()
{
}
//ÉùÃ÷µÄ±¾µØ·½·¨
public native void SayHello(String strName);
}
=======================================================
ToSay.java
package test;
public class ToSay {
public static void main(String args[]){
Hello hw = new Hello();
&nb ......
Ò»¡¢±à¼JavaÔ´Îļþ
=============================================
Hello.java
=============================================
package test;
public class Hello
{
static
{
try
{
//´Ë´¦¼´Îª±¾µØ·½·¨ËùÔÚÁ´½Ó¿âÃû
System.loadLibrary("libhello");
}
catch(UnsatisfiedLinkError e)
{
System.err.println( "Cannot load hello library:\n " + e.toString() );
}
}
public Hello()
{
}
//ÉùÃ÷µÄ±¾µØ·½·¨
public native void SayHello(String strName);
}
=======================================================
ToSay.java
package test;
public class ToSay {
public static void main(String args[]){
Hello hw = new Hello();
&nb ......
NetBeansÌṩÁËÒ»¸öºÜºÃµÄC/C++¿ª·¢»·¾³£¬Õâ¸ö¿ª·¢»·¾³ÊÇ»ùÓÚGCC±àÒëÆ÷£¬ËùÒÔÔÚWindowsÉÏÊÇÐèҪͨ¹ýÅäÖòÅÄÜʹÓÃNetBeansµÄC/C++ƽ̨¡£
ÅäÖÃÖ»ÓÐÈý²½£º
1¡¢ÏÂÔØMinGWºÍMSYS
2¡¢ÅäÖÃMSYSµÄ»·¾³±äÁ¿
3¡¢ÔÚNetBeansÖÐÅäÖÃC/C++ƽ̨
-------------------------
µÚÒ»²½£ºÏÂÔØMinGWºÍMSYS
Ê×ÏÈÐèÒªÏÂÔØMinGWºÍMSYS£¬MinGWÊÇGCC±àÒëÆ÷ÔÚWindowsϵÄÒ»¸ö°æ±¾£¬MSYSÊÇÒ»¸öÔÚWindowsÏÂÄ£ÄâLinuxÃüÁîÐеŤ¾ß¡£²»Óõ£ÐÄ£¬ÎÒÃDz¢²»ÐèÒªÖ±½ÓµØÊ¹ÓÃÕâÁ½¸ö¹¤¾ß£¬Ö»ÊǰÑËüÃÇÉÔ΢ÅäÖÃһϸøNetBeansÈ¥ÓþÍÐÐÁË¡£
ÔÚ¸½¼þÖÐÏÂÔØMinGWºÍMSYS£¬ÓÃWinRAR°ÑËüÃǽâѹµ½ÄãµÄÓ²ÅÌÉÏ¡£
±ÈÈ磺“D:\MinGW” ºÍ “D:\MSYS”£¬£¨ÏÂÃæµÄÀý×Ó¶¼ÒÔÕâÁ½¸öĿ¼×÷²Î¿¼£©
--------------------------
µÚ¶þ²½£ºÅäÖÃMSYSµÄ»·¾³±äÁ¿
È»ºóÐèÒªÅäÖû·¾³±äÁ¿£¬½«MSYSµÄbinĿ¼¼Óµ½»·¾³±äÁ¿PATHÖС£
±ÈÈçÄãµÄMSYS½âѹµ½ÁË“D:\MSYS”£¬ÄÇôÄãµÄMSYSµÄbinĿ¼¾ÍÊÇ“D:\MSYS\bin”
ÔÚ“ÎҵĵçÄÔ”ÉÏÓÒ¼ü£¬Ñ¡Ôñ“ÊôÐÔ”£¬ÔÚµ¯³öµÄ¶Ô»°¿òÖÐÑ¡Ôñ“¸ß¼¶”Ñ¡Ï£¬ÔÙµã»÷“»·¾³±äÁ¿”£¬Ôړϵͳ±äÁ¿”ÀïÃæÕÒµ½²¢Ñ¡Ôñ&ld ......
NetBeansÌṩÁËÒ»¸öºÜºÃµÄC/C++¿ª·¢»·¾³£¬Õâ¸ö¿ª·¢»·¾³ÊÇ»ùÓÚGCC±àÒëÆ÷£¬ËùÒÔÔÚWindowsÉÏÊÇÐèҪͨ¹ýÅäÖòÅÄÜʹÓÃNetBeansµÄC/C++ƽ̨¡£
ÅäÖÃÖ»ÓÐÈý²½£º
1¡¢ÏÂÔØMinGWºÍMSYS
2¡¢ÅäÖÃMSYSµÄ»·¾³±äÁ¿
3¡¢ÔÚNetBeansÖÐÅäÖÃC/C++ƽ̨
-------------------------
µÚÒ»²½£ºÏÂÔØMinGWºÍMSYS
Ê×ÏÈÐèÒªÏÂÔØMinGWºÍMSYS£¬MinGWÊÇGCC±àÒëÆ÷ÔÚWindowsϵÄÒ»¸ö°æ±¾£¬MSYSÊÇÒ»¸öÔÚWindowsÏÂÄ£ÄâLinuxÃüÁîÐеŤ¾ß¡£²»Óõ£ÐÄ£¬ÎÒÃDz¢²»ÐèÒªÖ±½ÓµØÊ¹ÓÃÕâÁ½¸ö¹¤¾ß£¬Ö»ÊǰÑËüÃÇÉÔ΢ÅäÖÃһϸøNetBeansÈ¥ÓþÍÐÐÁË¡£
ÔÚ¸½¼þÖÐÏÂÔØMinGWºÍMSYS£¬ÓÃWinRAR°ÑËüÃǽâѹµ½ÄãµÄÓ²ÅÌÉÏ¡£
±ÈÈ磺“D:\MinGW” ºÍ “D:\MSYS”£¬£¨ÏÂÃæµÄÀý×Ó¶¼ÒÔÕâÁ½¸öĿ¼×÷²Î¿¼£©
--------------------------
µÚ¶þ²½£ºÅäÖÃMSYSµÄ»·¾³±äÁ¿
È»ºóÐèÒªÅäÖû·¾³±äÁ¿£¬½«MSYSµÄbinĿ¼¼Óµ½»·¾³±äÁ¿PATHÖС£
±ÈÈçÄãµÄMSYS½âѹµ½ÁË“D:\MSYS”£¬ÄÇôÄãµÄMSYSµÄbinĿ¼¾ÍÊÇ“D:\MSYS\bin”
ÔÚ“ÎҵĵçÄÔ”ÉÏÓÒ¼ü£¬Ñ¡Ôñ“ÊôÐÔ”£¬ÔÚµ¯³öµÄ¶Ô»°¿òÖÐÑ¡Ôñ“¸ß¼¶”Ñ¡Ï£¬ÔÙµã»÷“»·¾³±äÁ¿”£¬Ôړϵͳ±äÁ¿”ÀïÃæÕÒµ½²¢Ñ¡Ôñ&ld ......
µÚһƪÎÄÕÂÖÕÓÚÂä±ÊÁË£¬±¾ÎĽ«´Ó˼¿¼µÄ½Ç¶ÈÈ¥ÖØÐÂÈÏʶһÏÂHelloworld¡£ÔÚÀý×ÓÖ®ºó»áÌá³ö²»Í¬µÄÎÊÌ⣬Òýµ¼´ó¼Òȥ˼¿¼Ã¿Ò»¾äÄËÖÁÿ¸öϸ½Ú¡£Í¬Ê±Ï£ÍûÄܹ»Èôó¼ÒÒÔºóÄܹ»ÒÔ²»¶Ï˼¿¼²»¶ÏÌáÎʵķ½Ê½È¥¿´´ý×Ô¼ºµÄ³ÌÐò¡£ÎÒÏàÐÅ´ó¼Ò»á·¢ÏֺܶàÐµĶ«Î÷£¬ºÃÁËÇÐÈëÕýÌâ¡£
ÎÒÃÇÿѧһÖÖеÄÓïÑÔ»ù±¾¶¼»á´Óhelloworld¿ªÊ¼£¬»ù±¾Ã¿ÖÖÓïÑÔ¶¼Ï²»¶½«helloworld×÷ΪʾÀýÖ±½ÓµÄ±íÏÖÔÚ¶ÁÕßµÄÃæÇ°£¬ÈöÁÕßÔڸйÙÉÏÈÏʶһÏÂÕâÖÖÓïÑԵĽṹ£¬Óï·¨¸ñʽµÈ¡£Òò´Ë¸÷ÖÖ¸÷ÑùµÄhelloworld±ã³öÀ´ÁË£¬±ÈÈ磺WINDOWS³ÌÐòµÄHelloWorld£¬²Ù×÷ϵͳµÄHelloworld£¨¼òµ¥µÄ¶ÀÁ¢ÓÚOSµÄÒ»¸öÒýµ¼¼°´òÓ¡helloworld×ÖÑù£©£¬LUAµÄHelloWorld£¨ÓÎÏ·¿ª·¢³£Óýű¾ÓïÑÔ£©µÈµÈÊý²»Ê¤Êý¡£½ñÌìÎÒÃǾʹÓCC++µÄhelloworld½øÐÐ̽ÌÖ¡£Ê×ÏÈдÁ©Àý×Ó£º
CÓïÑ԰棺
#include <stdio.h>
int main( void )
{
printf( "Hello World!" );
return 0;
}
C++°æ£º
#include <iostream>
using namespace std;
int main( void )
{
cout << "Hello World!" << endl;
return 0;
}
Ê×ÏÈ£¬Çë´ó¼Ò¾ÀÕý×Ô¼ºµ ......
µÚһƪÎÄÕÂÖÕÓÚÂä±ÊÁË£¬±¾ÎĽ«´Ó˼¿¼µÄ½Ç¶ÈÈ¥ÖØÐÂÈÏʶһÏÂHelloworld¡£ÔÚÀý×ÓÖ®ºó»áÌá³ö²»Í¬µÄÎÊÌ⣬Òýµ¼´ó¼Òȥ˼¿¼Ã¿Ò»¾äÄËÖÁÿ¸öϸ½Ú¡£Í¬Ê±Ï£ÍûÄܹ»Èôó¼ÒÒÔºóÄܹ»ÒÔ²»¶Ï˼¿¼²»¶ÏÌáÎʵķ½Ê½È¥¿´´ý×Ô¼ºµÄ³ÌÐò¡£ÎÒÏàÐÅ´ó¼Ò»á·¢ÏֺܶàÐµĶ«Î÷£¬ºÃÁËÇÐÈëÕýÌâ¡£
ÎÒÃÇÿѧһÖÖеÄÓïÑÔ»ù±¾¶¼»á´Óhelloworld¿ªÊ¼£¬»ù±¾Ã¿ÖÖÓïÑÔ¶¼Ï²»¶½«helloworld×÷ΪʾÀýÖ±½ÓµÄ±íÏÖÔÚ¶ÁÕßµÄÃæÇ°£¬ÈöÁÕßÔڸйÙÉÏÈÏʶһÏÂÕâÖÖÓïÑԵĽṹ£¬Óï·¨¸ñʽµÈ¡£Òò´Ë¸÷ÖÖ¸÷ÑùµÄhelloworld±ã³öÀ´ÁË£¬±ÈÈ磺WINDOWS³ÌÐòµÄHelloWorld£¬²Ù×÷ϵͳµÄHelloworld£¨¼òµ¥µÄ¶ÀÁ¢ÓÚOSµÄÒ»¸öÒýµ¼¼°´òÓ¡helloworld×ÖÑù£©£¬LUAµÄHelloWorld£¨ÓÎÏ·¿ª·¢³£Óýű¾ÓïÑÔ£©µÈµÈÊý²»Ê¤Êý¡£½ñÌìÎÒÃǾʹÓCC++µÄhelloworld½øÐÐ̽ÌÖ¡£Ê×ÏÈдÁ©Àý×Ó£º
CÓïÑ԰棺
#include <stdio.h>
int main( void )
{
printf( "Hello World!" );
return 0;
}
C++°æ£º
#include <iostream>
using namespace std;
int main( void )
{
cout << "Hello World!" << endl;
return 0;
}
Ê×ÏÈ£¬Çë´ó¼Ò¾ÀÕý×Ô¼ºµ ......