µÚÒ»Ì⣺
ÏÂÃæ³ÌÐòµÄÊä³ö½á¹û£¿
#include <stdio.h>
#include <iostream>
void main()
{
char str1[] = "";
char str2[] = "";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
char* str7="abc";
char* str8="abc";
std::cout << std::boolalpha << ( str1==str2 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str3==str4 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str5==str6 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str7==str8 ) << std::endl; // Êä³öʲô£¿
int i;
scanf("%d",&i);
}
½á¹û:false,false,true,true. ÒòΪǰÁ½¸öµÄÄÚ´æÊÇÔÚheapÉÏ·ÖÅäµÄ£¬µ±È»ÊDz»Í¬µÄµØÖ·£»¶øºóÁ½¸öÊÇÔÚ¾²Ì¬Çø·ÖÅäµÄ£¬ºóÃæµÄÏȼì²éÇ°ÃæÓÐÎÞ¸Ã×Ö·û´®£¬Óеϰ£¬¾Í²»ÔÙ·ÖÅ䣬ËùÒÔstr5,str6,str7,str8µØÖ·¶¼ÊÇÏàͬµÄ¡£
µÚ¶þÌâ:
1.¼ì² ......
µÚÒ»Ì⣺
ÏÂÃæ³ÌÐòµÄÊä³ö½á¹û£¿
#include <stdio.h>
#include <iostream>
void main()
{
char str1[] = "";
char str2[] = "";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
char* str7="abc";
char* str8="abc";
std::cout << std::boolalpha << ( str1==str2 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str3==str4 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str5==str6 ) << std::endl; // Êä³öʲô£¿
std::cout << std::boolalpha << ( str7==str8 ) << std::endl; // Êä³öʲô£¿
int i;
scanf("%d",&i);
}
½á¹û:false,false,true,true. ÒòΪǰÁ½¸öµÄÄÚ´æÊÇÔÚheapÉÏ·ÖÅäµÄ£¬µ±È»ÊDz»Í¬µÄµØÖ·£»¶øºóÁ½¸öÊÇÔÚ¾²Ì¬Çø·ÖÅäµÄ£¬ºóÃæµÄÏȼì²éÇ°ÃæÓÐÎÞ¸Ã×Ö·û´®£¬Óеϰ£¬¾Í²»ÔÙ·ÖÅ䣬ËùÒÔstr5,str6,str7,str8µØÖ·¶¼ÊÇÏàͬµÄ¡£
µÚ¶þÌâ:
1.¼ì² ......
C++ÌṩµÄ±àÒëÔ¤´¦Àí¹¦ÄÜÖ÷ÒªÓÐÒÔÏÂÈýÖÖ£º
¡¡¡¡£¨Ò»£© ºê¶¨Òå
¡¡¡¡£¨¶þ£© Îļþ°üº¬
¡¡¡¡£¨Èý£© Ìõ¼þ±àÒë
¡¡¡¡ÔÚC++ÖУ¬ÎÒÃÇÒ»°ãÓÃconst¶¨Òå·ûºÅ³£Á¿¡£ºÜÏÔÈ»£¬ÓÃconst¶¨Òå³£Á¿±ÈÓÃdefine¶¨Òå³£Á¿¸üºÃ¡£
¡¡¡¡ÔÚʹÓú궨ÒåʱӦעÒâµÄÊÇ£º
¡¡¡¡£¨a£© ÔÚÊéд#define ÃüÁîʱ£¬×¢Òâ<ºêÃû>ºÍ<×Ö·û´®>Ö®¼äÓÿոñ·Ö¿ª£¬¶ø²»ÊÇÓõȺÅÁ¬½Ó¡£
¡¡¡¡£¨b£© ʹÓÃ#define¶¨ÒåµÄ±êʶ·û²»ÊDZäÁ¿£¬ËüÖ»ÓÃ×÷ºêÌæ»»£¬Òò´Ë²»Õ¼ÓÐÄÚ´æ¡£
¡¡¡¡£¨c£© ϰ¹ßÉÏÓôóд×Öĸ±íʾ<ºêÃû>£¬ÕâÖ»ÊÇÒ»ÖÖϰ¹ßµÄÔ¼¶¨£¬ÆäÄ¿µÄÊÇΪÁËÓë±äÁ¿ÃûÇø·Ö£¬ÒòΪ±äÁ¿Ãû
¡¡¡¡Í¨³£ÓÃСд×Öĸ¡£
¡¡¡¡Èç¹ûijһ¸ö±êʶ·û±»¶¨ÒåΪºêÃûºó£¬ÔÚÈ¡Ïû¸Ãºê¶¨Òå֮ǰ£¬²»ÔÊÐíÖØÐ¶ÔËü½øÐк궨Ò塣ȡÏûºê¶¨ÒåʹÓÃÈçÏÂÃüÁ
¡¡¡¡#undef<±êʶ·û>
¡¡¡¡ÆäÖУ¬undefÊǹؼü×Ö¡£¸ÃÃüÁîµÄ¹¦ÄÜÊÇÈ¡Ïû¶Ô<±êʶ·û>ÒÑÓеĺ궨Òå¡£±»È¡ÏûÁ˺궨ÒåµÄ±êʶ·û£¬¿ÉÒÔ¶ÔËüÖØÐ½øÐж¨Òå¡£
¡¡¡¡ºê¶¨Òå¿ÉÒÔǶÌ×£¬Òѱ»¶¨ÒåµÄ±êʶ·û¿ÉÒÔÓÃÀ´¶¨Òåеıêʶ·û¡£ÀýÈ磺
¡¡¡¡#define PI 3.14159265
¡¡¡¡#define R 10
¡¡¡¡#define AREA (PI*R*R)
µ¥µÄºê¶¨Ò彫һ¸ö±êʶ·û¶¨ÒåΪһ¸ö×Ö·û´®£¬Ô´ ......
C++ÌṩµÄ±àÒëÔ¤´¦Àí¹¦ÄÜÖ÷ÒªÓÐÒÔÏÂÈýÖÖ£º
¡¡¡¡£¨Ò»£© ºê¶¨Òå
¡¡¡¡£¨¶þ£© Îļþ°üº¬
¡¡¡¡£¨Èý£© Ìõ¼þ±àÒë
¡¡¡¡ÔÚC++ÖУ¬ÎÒÃÇÒ»°ãÓÃconst¶¨Òå·ûºÅ³£Á¿¡£ºÜÏÔÈ»£¬ÓÃconst¶¨Òå³£Á¿±ÈÓÃdefine¶¨Òå³£Á¿¸üºÃ¡£
¡¡¡¡ÔÚʹÓú궨ÒåʱӦעÒâµÄÊÇ£º
¡¡¡¡£¨a£© ÔÚÊéд#define ÃüÁîʱ£¬×¢Òâ<ºêÃû>ºÍ<×Ö·û´®>Ö®¼äÓÿոñ·Ö¿ª£¬¶ø²»ÊÇÓõȺÅÁ¬½Ó¡£
¡¡¡¡£¨b£© ʹÓÃ#define¶¨ÒåµÄ±êʶ·û²»ÊDZäÁ¿£¬ËüÖ»ÓÃ×÷ºêÌæ»»£¬Òò´Ë²»Õ¼ÓÐÄÚ´æ¡£
¡¡¡¡£¨c£© ϰ¹ßÉÏÓôóд×Öĸ±íʾ<ºêÃû>£¬ÕâÖ»ÊÇÒ»ÖÖϰ¹ßµÄÔ¼¶¨£¬ÆäÄ¿µÄÊÇΪÁËÓë±äÁ¿ÃûÇø·Ö£¬ÒòΪ±äÁ¿Ãû
¡¡¡¡Í¨³£ÓÃСд×Öĸ¡£
¡¡¡¡Èç¹ûijһ¸ö±êʶ·û±»¶¨ÒåΪºêÃûºó£¬ÔÚÈ¡Ïû¸Ãºê¶¨Òå֮ǰ£¬²»ÔÊÐíÖØÐ¶ÔËü½øÐк궨Ò塣ȡÏûºê¶¨ÒåʹÓÃÈçÏÂÃüÁ
¡¡¡¡#undef<±êʶ·û>
¡¡¡¡ÆäÖУ¬undefÊǹؼü×Ö¡£¸ÃÃüÁîµÄ¹¦ÄÜÊÇÈ¡Ïû¶Ô<±êʶ·û>ÒÑÓеĺ궨Òå¡£±»È¡ÏûÁ˺궨ÒåµÄ±êʶ·û£¬¿ÉÒÔ¶ÔËüÖØÐ½øÐж¨Òå¡£
¡¡¡¡ºê¶¨Òå¿ÉÒÔǶÌ×£¬Òѱ»¶¨ÒåµÄ±êʶ·û¿ÉÒÔÓÃÀ´¶¨Òåеıêʶ·û¡£ÀýÈ磺
¡¡¡¡#define PI 3.14159265
¡¡¡¡#define R 10
¡¡¡¡#define AREA (PI*R*R)
µ¥µÄºê¶¨Ò彫һ¸ö±êʶ·û¶¨ÒåΪһ¸ö×Ö·û´®£¬Ô´ ......
ǰÑÔ£ºÇ°¶Îʱ¼äÔÚCSDNµÄC++ÉçÇøÓöµ½Ò»¸öÐèÒª·â×°¿¼ÇÚ»ú½Ó¿ÚµÄ¶¯Ì¬¿â¸øJAVAµ÷ÓõÄÌû×Ó£¬¹´ÆðÁËÎÒ¶ÔJAVAµÄÎÞÏÞ»³Äî¡£ÔÚ´Ë£¬ÎÒÏë°ÑÕâÏî¼¼Êõ¼òµ¥ÔÙ½éÉÜһϡ£
Ò»¡¢¹ØÓÚJava Native Interface (JNI)
JNIÊÇJAVA±¾µØ±à³Ì½Ó¿Ú£¬ÊôÓÚJDKµÄÒ»²¿·Ö¡£ËüÔÊÐíJAVAÄܹ»²Ù×÷±¾µØAPI»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£¬ÐèÒª¿¼ÂÇJAVAµÄ¿ÉÒÆÖ²ÐÔ¡£
¶þ¡¢±àдһ¸ö¼òµ¥µÄJNI³ÌÐò
1¡¢±àдһ¸öJAVA³ÌÐò
// HelloWorld.java
class HelloWorld
{
//ÉùÃ÷±¾µØ·½·¨,ÒÔnativeΪ¹Ø¼ü×Ö
public native void displayHelloWorld();
static
{
//¼ÓÔØ±¾µØ·½·¨ËùÔڵĶ¯Ì¬¿â
System.loadLibrary("HelloWorld");
}
public static void main(String[] args)
{
new HelloWorld().displayHelloWorld();
}
}
ÖØµã²¿·Ö: a)±¾µØ·½·¨ÒÔnativeΪ¹Ø¼ü×ÖÉùÃ÷ b)¼ÓÔØ¶¯Ì¬¿â
2¡¢±àÒëÔ´³ÌÐò
cmd > javac HelloWorld.java
3¡¢´´½¨.hÎļþÎÒÃÇÐèÒª´ÓHelloWorld.classÎļþÖÐÉú³É¶ÔÓ¦µÄ.hÎļþ£¬ÒÔ±ãÔÚC/C++±àд´úÂë¡£
cmd>javah -jni HelloWorld
Éú³ÉµÄÎļþ(HelloWorld.h)³¤Õâ¸öÑù×Ó:
/* DO NOT EDIT THIS FILE - it is machine generate ......
ǰÑÔ£ºÇ°¶Îʱ¼äÔÚCSDNµÄC++ÉçÇøÓöµ½Ò»¸öÐèÒª·â×°¿¼ÇÚ»ú½Ó¿ÚµÄ¶¯Ì¬¿â¸øJAVAµ÷ÓõÄÌû×Ó£¬¹´ÆðÁËÎÒ¶ÔJAVAµÄÎÞÏÞ»³Äî¡£ÔÚ´Ë£¬ÎÒÏë°ÑÕâÏî¼¼Êõ¼òµ¥ÔÙ½éÉÜһϡ£
Ò»¡¢¹ØÓÚJava Native Interface (JNI)
JNIÊÇJAVA±¾µØ±à³Ì½Ó¿Ú£¬ÊôÓÚJDKµÄÒ»²¿·Ö¡£ËüÔÊÐíJAVAÄܹ»²Ù×÷±¾µØAPI»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£¬ÐèÒª¿¼ÂÇJAVAµÄ¿ÉÒÆÖ²ÐÔ¡£
¶þ¡¢±àдһ¸ö¼òµ¥µÄJNI³ÌÐò
1¡¢±àдһ¸öJAVA³ÌÐò
// HelloWorld.java
class HelloWorld
{
//ÉùÃ÷±¾µØ·½·¨,ÒÔnativeΪ¹Ø¼ü×Ö
public native void displayHelloWorld();
static
{
//¼ÓÔØ±¾µØ·½·¨ËùÔڵĶ¯Ì¬¿â
System.loadLibrary("HelloWorld");
}
public static void main(String[] args)
{
new HelloWorld().displayHelloWorld();
}
}
ÖØµã²¿·Ö: a)±¾µØ·½·¨ÒÔnativeΪ¹Ø¼ü×ÖÉùÃ÷ b)¼ÓÔØ¶¯Ì¬¿â
2¡¢±àÒëÔ´³ÌÐò
cmd > javac HelloWorld.java
3¡¢´´½¨.hÎļþÎÒÃÇÐèÒª´ÓHelloWorld.classÎļþÖÐÉú³É¶ÔÓ¦µÄ.hÎļþ£¬ÒÔ±ãÔÚC/C++±àд´úÂë¡£
cmd>javah -jni HelloWorld
Éú³ÉµÄÎļþ(HelloWorld.h)³¤Õâ¸öÑù×Ó:
/* DO NOT EDIT THIS FILE - it is machine generate ......
ǰÑÔ£ºÇ°¶Îʱ¼äÔÚCSDNµÄC++ÉçÇøÓöµ½Ò»¸öÐèÒª·â×°¿¼ÇÚ»ú½Ó¿ÚµÄ¶¯Ì¬¿â¸øJAVAµ÷ÓõÄÌû×Ó£¬¹´ÆðÁËÎÒ¶ÔJAVAµÄÎÞÏÞ»³Äî¡£ÔÚ´Ë£¬ÎÒÏë°ÑÕâÏî¼¼Êõ¼òµ¥ÔÙ½éÉÜһϡ£
Ò»¡¢¹ØÓÚJava Native Interface (JNI)
JNIÊÇJAVA±¾µØ±à³Ì½Ó¿Ú£¬ÊôÓÚJDKµÄÒ»²¿·Ö¡£ËüÔÊÐíJAVAÄܹ»²Ù×÷±¾µØAPI»òÓÉÆäËûÓïÑÔ±àдµÄ¶¯Ì¬¿â¡£²»¹ýµ±ÄãʹÓÃÕâÏî¼¼ÊõµÄʱºò£¬ÐèÒª¿¼ÂÇJAVAµÄ¿ÉÒÆÖ²ÐÔ¡£
¶þ¡¢±àдһ¸ö¼òµ¥µÄJNI³ÌÐò
1¡¢±àдһ¸öJAVA³ÌÐò
// HelloWorld.java
class HelloWorld
{
//ÉùÃ÷±¾µØ·½·¨,ÒÔnativeΪ¹Ø¼ü×Ö
public native void displayHelloWorld();
static
{
//¼ÓÔØ±¾µØ·½·¨ËùÔڵĶ¯Ì¬¿â
System.loadLibrary("HelloWorld");
}
public static void main(String[] args)
{
new HelloWorld().displayHelloWorld();
}
}
ÖØµã²¿·Ö: a)±¾µØ·½·¨ÒÔnativeΪ¹Ø¼ü×ÖÉùÃ÷ b)¼ÓÔØ¶¯Ì¬¿â
2¡¢±àÒëÔ´³ÌÐò
cmd > javac HelloWorld.java
3¡¢´´½¨.hÎļþÎÒÃÇÐèÒª´ÓHelloWorld.classÎļþÖÐÉú³É¶ÔÓ¦µÄ.hÎļþ£¬ÒÔ±ãÔÚC/C++±àд´úÂë¡£
cmd>javah -jni HelloWorld
Éú³ÉµÄÎļþ(HelloWorld.h)³¤Õâ¸öÑù×Ó:
/* DO NOT EDIT THIS FILE - it is machine generate ......
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©—£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£ - ³ÌÐò½áÊøºóÓÐϵͳÊÍ·Å
4¡¢ÎÄ×Ö³£Á¿Çø —³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å
5¡¢³ÌÐò´úÂëÇø—´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
È«¾Ö±äÁ¿ int (*myf)(int a) = my_Fun, my_FunÊÇÈ«¾Öº¯Êý
myf±£´æÔÚ(Õ» ), Ö¸ÏòµÄÄÚÈÝÔÚ(´úÂë¶Î )
º¯ÊýÄÚ:static int a = 0; char *p = "abc";
a ±£´æÔÚ(¾²Ì¬Çø ), Ö¸ÏòµÄÄÚÈÝÔÚ(³£Á¿Çø )
º¯ÊýÄÚ:char *ar = new char[4];
ar ±£´æÔÚ( Õ»),Ö¸ÏòµÄÄÚÈÝÔÚ(¶Ñ )
1.ÊÇÒ»¸öº¯ÊýÖ¸Õë,ÔÚÕ»
2.Ò»¸öº¯Êý,ÔÚ´úÂëÇø
3.¾²Ì¬±äÁ¿,ÔÚ¾²Ì¬Çø
4.×Ö· ......
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©—£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£ - ³ÌÐò½áÊøºóÓÐϵͳÊÍ·Å
4¡¢ÎÄ×Ö³£Á¿Çø —³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å
5¡¢³ÌÐò´úÂëÇø—´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
È«¾Ö±äÁ¿ int (*myf)(int a) = my_Fun, my_FunÊÇÈ«¾Öº¯Êý
myf±£´æÔÚ(Õ» ), Ö¸ÏòµÄÄÚÈÝÔÚ(´úÂë¶Î )
º¯ÊýÄÚ:static int a = 0; char *p = "abc";
a ±£´æÔÚ(¾²Ì¬Çø ), Ö¸ÏòµÄÄÚÈÝÔÚ(³£Á¿Çø )
º¯ÊýÄÚ:char *ar = new char[4];
ar ±£´æÔÚ( Õ»),Ö¸ÏòµÄÄÚÈÝÔÚ(¶Ñ )
1.ÊÇÒ»¸öº¯ÊýÖ¸Õë,ÔÚÕ»
2.Ò»¸öº¯Êý,ÔÚ´úÂëÇø
3.¾²Ì¬±äÁ¿,ÔÚ¾²Ì¬Çø
4.×Ö· ......
1¡¢ һЩͷÎļþµÄ×÷Óãº
<assert.h>£ºANSI C¡£Ìṩ¶ÏÑÔ£¬assert(±í´ïʽ)
<glib.h>£ºGCC¡£GTK£¬GNOMEµÄ»ù´¡¿â£¬ÌṩºÜ¶àÓÐÓõĺ¯Êý£¬ÈçÓÐÊý¾Ý½á¹¹²Ù×÷º¯Êý¡£Ê¹ÓÃglibÖ»ÐèÒª°üº¬<glib.h>
<dirent.h>£ºGCC¡£Îļþ¼Ð²Ù×÷º¯Êý¡£struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()µÈ
<ctype.h>£ºANSI C¡£×Ö·û²âÊÔº¯Êý¡£isdigit(),islower()µÈ
<errno.h>£ºANSI
C¡£²é¿´´íÎó´úÂëerrnoÊǵ÷ÊÔ³ÌÐòµÄÒ»¸öÖØÒª·½·¨¡£µ±linuc C apiº¯Êý·¢ÉúÒ쳣ʱ,Ò»°ã»á½«errno±äÁ¿(Ðèinclude
errno.h)¸³Ò»¸öÕûÊýÖµ,²»Í¬µÄÖµ±íʾ²»Í¬µÄº¬Òå,¿ÉÒÔͨ¹ý²é¿´¸ÃÖµÍÆ²â³ö´íµÄÔÒò¡£ÔÚʵ¼Ê±à³ÌÖÐÓÃÕâÒ»Õнâ¾öÁ˲»ÉÙÔ±¾¿´À´ÄªÃûÆäÃîµÄÎÊÌâ¡£±È½Ï
Âé·³µÄÊÇÿ´Î¶¼ÒªÈ¥linuxÔ´´úÂëÀïÃæ²éÕÒ´íÎó´úÂëµÄº¬Ò壬ÏÖÔÚ°ÑËüÌù³öÀ´£¬ÒÔºóÐèÒª²éʱ¾ÍÀ´ÕâÀï¿´ÁË¡£À´×Ôlinux
2.4.20-18µÄÄں˴úÂëÖеÄ/usr/include/asm/errno.h
<getopt.h>£º´¦ÀíÃüÁîÐвÎÊý¡£getopt()
2¡¢
-------------------------
linux³£ÓÃÍ·ÎļþÈçÏ£º
POSIX±ê×¼¶¨ÒåµÄÍ·Îļþ
<dirent.h> Ŀ¼Ïî
<fcntl.h> &n ......
1¡¢ һЩͷÎļþµÄ×÷Óãº
<assert.h>£ºANSI C¡£Ìṩ¶ÏÑÔ£¬assert(±í´ïʽ)
<glib.h>£ºGCC¡£GTK£¬GNOMEµÄ»ù´¡¿â£¬ÌṩºÜ¶àÓÐÓõĺ¯Êý£¬ÈçÓÐÊý¾Ý½á¹¹²Ù×÷º¯Êý¡£Ê¹ÓÃglibÖ»ÐèÒª°üº¬<glib.h>
<dirent.h>£ºGCC¡£Îļþ¼Ð²Ù×÷º¯Êý¡£struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()µÈ
<ctype.h>£ºANSI C¡£×Ö·û²âÊÔº¯Êý¡£isdigit(),islower()µÈ
<errno.h>£ºANSI
C¡£²é¿´´íÎó´úÂëerrnoÊǵ÷ÊÔ³ÌÐòµÄÒ»¸öÖØÒª·½·¨¡£µ±linuc C apiº¯Êý·¢ÉúÒ쳣ʱ,Ò»°ã»á½«errno±äÁ¿(Ðèinclude
errno.h)¸³Ò»¸öÕûÊýÖµ,²»Í¬µÄÖµ±íʾ²»Í¬µÄº¬Òå,¿ÉÒÔͨ¹ý²é¿´¸ÃÖµÍÆ²â³ö´íµÄÔÒò¡£ÔÚʵ¼Ê±à³ÌÖÐÓÃÕâÒ»Õнâ¾öÁ˲»ÉÙÔ±¾¿´À´ÄªÃûÆäÃîµÄÎÊÌâ¡£±È½Ï
Âé·³µÄÊÇÿ´Î¶¼ÒªÈ¥linuxÔ´´úÂëÀïÃæ²éÕÒ´íÎó´úÂëµÄº¬Ò壬ÏÖÔÚ°ÑËüÌù³öÀ´£¬ÒÔºóÐèÒª²éʱ¾ÍÀ´ÕâÀï¿´ÁË¡£À´×Ôlinux
2.4.20-18µÄÄں˴úÂëÖеÄ/usr/include/asm/errno.h
<getopt.h>£º´¦ÀíÃüÁîÐвÎÊý¡£getopt()
2¡¢
-------------------------
linux³£ÓÃÍ·ÎļþÈçÏ£º
POSIX±ê×¼¶¨ÒåµÄÍ·Îļþ
<dirent.h> Ŀ¼Ïî
<fcntl.h> &n ......
1¡¢ һЩͷÎļþµÄ×÷Óãº
<assert.h>£ºANSI C¡£Ìṩ¶ÏÑÔ£¬assert(±í´ïʽ)
<glib.h>£ºGCC¡£GTK£¬GNOMEµÄ»ù´¡¿â£¬ÌṩºÜ¶àÓÐÓõĺ¯Êý£¬ÈçÓÐÊý¾Ý½á¹¹²Ù×÷º¯Êý¡£Ê¹ÓÃglibÖ»ÐèÒª°üº¬<glib.h>
<dirent.h>£ºGCC¡£Îļþ¼Ð²Ù×÷º¯Êý¡£struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()µÈ
<ctype.h>£ºANSI C¡£×Ö·û²âÊÔº¯Êý¡£isdigit(),islower()µÈ
<errno.h>£ºANSI
C¡£²é¿´´íÎó´úÂëerrnoÊǵ÷ÊÔ³ÌÐòµÄÒ»¸öÖØÒª·½·¨¡£µ±linuc C apiº¯Êý·¢ÉúÒ쳣ʱ,Ò»°ã»á½«errno±äÁ¿(Ðèinclude
errno.h)¸³Ò»¸öÕûÊýÖµ,²»Í¬µÄÖµ±íʾ²»Í¬µÄº¬Òå,¿ÉÒÔͨ¹ý²é¿´¸ÃÖµÍÆ²â³ö´íµÄÔÒò¡£ÔÚʵ¼Ê±à³ÌÖÐÓÃÕâÒ»Õнâ¾öÁ˲»ÉÙÔ±¾¿´À´ÄªÃûÆäÃîµÄÎÊÌâ¡£±È½Ï
Âé·³µÄÊÇÿ´Î¶¼ÒªÈ¥linuxÔ´´úÂëÀïÃæ²éÕÒ´íÎó´úÂëµÄº¬Ò壬ÏÖÔÚ°ÑËüÌù³öÀ´£¬ÒÔºóÐèÒª²éʱ¾ÍÀ´ÕâÀï¿´ÁË¡£À´×Ôlinux
2.4.20-18µÄÄں˴úÂëÖеÄ/usr/include/asm/errno.h
<getopt.h>£º´¦ÀíÃüÁîÐвÎÊý¡£getopt()
2¡¢
-------------------------
linux³£ÓÃÍ·ÎļþÈçÏ£º
POSIX±ê×¼¶¨ÒåµÄÍ·Îļþ
<dirent.h> Ŀ¼Ïî
<fcntl.h> &n ......
CºÍC++ÓïÑÔѧϰ×ܽá(Ò»)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡ
ÖµÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) ЧÂʵÍÓÚ for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......
CºÍC++ÓïÑÔѧϰ×ܽá(Ò»)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡ
ÖµÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹¹µÄ´ÎÐò,Stringº¯Êý¶¨Òå
¾ßÌåʵÏÖ:
1¡¢if,for,switch,goto
if:
bool int float pointer char ±äÁ¿µÄʹÓ÷½·¨
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return µÄʹÓ÷½·¨
if(condition) ¿ÉÒԵȼÛΪ return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
Ö´ÐÐЧÂÊÎÊÌâ:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) ЧÂʵÍÓÚ for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......