Cº¯ÊýÖ¸ÕëµÄÓ÷¨
2008-06-05 12:38------------------------------------------------------------------------------------------------
º¯ÊýÖ¸Õëͨ³£ÓÃÀ´ÊµÏֻص÷£¬Æä»ù±¾Ó÷¨ÈçÏ£º
1¡¢¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
// ¶¨ÒåÒ»¸öÔÐÍΪint Fun( int a );µÄº¯ÊýÖ¸Õë
typedef int (*PTRFUN) ( int aPara );
2¡¢º¯ÊýÖ¸Õë±äÁ¿µÄ¶¨Òå
PTRFUN pFun; // pFun Ϊº¯ÊýÖ¸Õë±äÁ¿Ãû
int (*pFun2) ( int a ); // pFun2Ò²ÊǺ¯ÊýÖ¸Õë±äÁ¿Ãû
3¡¢º¯ÊýÖ¸Õë×÷Ϊº¯ÊýµÄ²ÎÊý´«µÝ
// ¶¨Ò廨µ÷º¯Êý
int CallBack( int a ){
return ++a;
}
// ¶¨Ò廨µ÷Õߺ¯Êý
void Caller( PTRFUN cb )
// void Caller( int (*cb) ( int ) ) // Ò²¿ÉÕâÑùÉêÃ÷
{
int nPara = 1;
int nRet = cb( nPara );
}
// ʹÓûص÷
void Test(){
Caller( CallBack ); // Ö±½ÓʹÓûص÷º¯Êý
PTRFUN cb = CallBack; // int (*cb) ( int ); cb = CallBack;
int nRet1 = cb( 99 ); // nRet1 = 100;
}
4¡¢º¯ÊýÖ¸ÕëµÄÖ¸ÕëʹÓÃ
// ¶¨Ò庯ÊýÖ¸ÕëµÄÖ¸Õë
typedef int (**PTRPTRFUN) ( int aPara );
// º¯ÊýÖ¸ÕëµÄÖ¸Õë×÷Ϊ²ÎÊý
void PtrCaller( PTRPTRFUN cb )
// void PtrCaller( PTRFUN* cb ) // Ö¸ÕëÉêÃ÷
// void PtrCaller( int (**cb) ( int ) ) // ÔÐÍÉêÃ÷
{
int nRet = (*cb)(999); // nRet = 1000;
}
// ʹÓú¯ÊýÖ¸ÕëµÄÖ¸Õë
void Test(){
PTRFUN cb = CallBack;
PtrCaller( &cb );
}
5¡¢º¯ÊýÖ¸ÕëÊý×éµÄʹÓÃ
// º¯ÊýÖ¸ÕëÊý×éµÄ¶¨Òå
PTRFUN fArray[10];
// int (*fArray[10]) ( int ); // ÔÐͶ¨Òå
for ( int i = 0; i < 10; i++ ){
fArray[i] = CallBack;
int nRet = fArray[i](i); // nRet = i+1;
}
6¡¢º¯ÊýÖ¸ÕëµÄ´óС
// ¼ÈÈ»½ÐÖ¸Õ룬ËùÒÔ¸úÆÕͨµÄÖ¸ÕëÒ»ÑùÔÚ32λϵͳÏ´óС¶¼Îª4
int nSz1 = sizeof(PTRFUN); // nSz1 = 4;
int nSz2 = sizeof(PTRPTRFUN); // nSz2 = 4;
×¢Ò⣺
±àÒëÆ÷´æÔÚ¶àÖÖÖÖµ÷Óù淶£¬
Ïà¹ØÎĵµ£º
Ò»Ö±¾õµÃCÓïÑÔµÄÔ¤´¦Àí
Æ÷ÊǸöÃÀÃî¶øÉñÆæµÄ¹¤¾ß£¬ÒÔºó»áÂ½Ðø°Ñ×Ô¼ºÑ§µ½µÄ¹ØÓÚËüµÄÐÂ֪ʶ×ܽá³öÀ´¡£To be continued aways...
Ò»¡¢ #defineÌæ»»
£¨Pointer ON C
, Ch14.2.2£©
³ÌÐòÖÐÀ©Õ¹#define¶¨Òå·ûºÅºÍºêʱ£¬Éæ¼°Èçϼ¸¸ö²½Ö裺
(1) ÔÚµ÷Óúêʱ£¬Ê×ÏȶԲÎÊý½øÐмì²é£¬¿´¿´ÊÇ·ñ°üº¬ÁËÈκÎÓÉ#define ¶¨ÒåµÄ·ûºÅ£¬Èç¹ ......
Ò»°ãÎÒÃǵ÷ÓÃshell½Å±¾¶¼ÓÃsystem()À´ÊµÏÖ£¬È»ºó·¢ÏÖsytem·µ»ØÖµ²»ºÃ¿ØÖƶøÇÒת»»Âé·³(»¹ÒªÓÒÒÆ4λ¼´/256)£¬ÓÚÊÇÎÒÓÃpopenÀ´»ñÈ¡shellµÄ·µ»ØÖµ¡£¹ûÈ»ÔÚUnixÊÀ½çÀïÃæ£¬Í¨µÀ¾ÍÊÇÁ¬½á¸÷¸ö·½ÃæµÄÇÅÁº°¡£¡
´úÂëÀý×ÓÈçÏ£º
#include<stdio.h>
#include<stdlib.h>
#include<sys/wait.h>
int main (int argc ......
ÓÅ»¯C´úÂë³£Óõļ¸ÕÐ
ÔÚÐÔÄÜÓÅ»¯·½ÃæÓÀÔ¶×¢Òâ80-20ÔÔò£¬¼´20%µÄ³ÌÐòÏûºÄÁË80%µÄÔËÐÐʱ¼ä£¬Òò¶øÎÒÃÇÒª¸Ä½øÐ§ÂÊ£¬×îÖ÷ÒªÊÇ¿¼ÂǸĽøÄÇ20%µÄ´úÂë¡£²»ÒªÓÅ»¯³ÌÐòÖпªÏú²»´óµÄÄÇ80%£¬ÕâÊÇÀͶøÎÞ¹¦µÄ¡£
µÚÒ»ÕУºÒԿռ任ʱ¼ä
¼ÆËã»ú³ÌÐòÖÐ×î´óµÄì¶ÜÊǿռäºÍʱ¼äµÄì¶Ü£¬ÄÇô£¬´ÓÕâ¸ö½Ç¶È³ö·¢ÄæÏò˼άÀ´¿¼ÂdzÌÐòµÄЧÂÊÎÊÌ⣬ÎÒ ......
GDB
ÊÇ
GNU
¿ªÔ´×éÖ¯·¢²¼µÄÒ»¸öÇ¿´óµÄ
UNIX
ϵijÌÐòµ÷ÊÔ¹¤¾ß¡£»òÐí£¬¸÷λ±È½Ïϲ»¶ÄÇÖÖͼÐνçÃæ·½Ê½µÄ£¬Ïñ
VC
¡¢
BCB
µÈ
IDE
µÄµ÷ÊÔ£¬µ«Èç¹ûÄãÊÇÔÚ
UNIX
ƽ̨ÏÂ×öÈí¼þ£¬Äã»á·¢ÏÖ
GDB
Õâ¸öµ÷ÊÔ¹¤¾ßÓбÈ
VC
¡¢
BCB
µÄͼÐλ¯µ÷ÊÔÆ÷¸üÇ¿´óµÄ¹¦ÄÜ¡£Ëùν
“
´çÓÐËù³¤£¬³ßÓÐËù¶Ì
”
¾ÍÊÇÕâ¸öµÀÀí ......
±àÒëNative CµÄhello,worldÄ£¿é
Android ±àÒë»·¾³±¾Éí±È½Ï¸´ÔÓ£¬ÇÒ²»ÏñÆÕͨµÄ±àÒë»·¾³£ºÖ»Óж¥²ãĿ¼Ï²ÅÓÐMakefileÎļþ£¬¶øÆäËûµÄÿ¸öcomponent¶¼Ê¹ÓÃͳһ±ê×¼µÄ Android.mk. Android.mkÎļþ±¾ÉíÊDZȽϼòµ¥µÄ£¬²»¹ýËü²¢²»ÊÇÎÒÃÇÊìϤµÄMakefile£¬¶øÊǾ¹ýÁËAndroid×ÔÉí±àÒëϵͳµÄºÜ¶à´¦Àí£¬Òò´ËÒªÕæÕýÀ ......