Cº¯ÊýÖ¸Õë×ܽá
±¾ÎĽöÏÞÓÚC£¬Ö÷Òª×Ô¼ºÀÏÍü¡£±ðµÄ·Ï»°ÉÙ˵¡£
1.Basic
Ê×ÏÈ¿¼ÂǺ¯ÊýÔÚº¯ÊýÌåÄڵ͍Ò壬ÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int main()
{
int add(int,int);
int def(int, int);
printf("%d\n", add(1,3));
printf("%d\n", def(3,1));
return 0;
}
int add(int a, int b) { return a+b; }
int def(int a, int b) { return a-b; }
¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룺
ReturnValue (*fun_ptr)();
ÉÏÃæµÄ´úÂëÓú¯ÊýÖ¸ÕëµôÓÃÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int main()
{
int add(int,int);
int def(int, int);
int (*p)();
p = add;
printf("%d\n", p(1,3));
p = def;
printf("%d\n", p(3,1));
return 0;
}
int add(int a, int b) { return a+b; }
int def(int a, int b) { return a-b; }
µ½´ËÎªÖ¹Ã²ËÆÃ»ÓÐʲôÓ㬲»¹ý¿ÉÒÔ¿¼ÂÇÒ»¸ö¸ü¼Ó¾ßÓÐÃÀ¸ÐµÄд·¨£¬ÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
typedef struct FuncPtrEle
{
int (*fun_ptr)();
int type_code;
} ptr_t;
int add(int,int);
int def(int, int);
int main()
{
int i = 0;
ptr_t ptr_array[2];
ptr_array[0].fun_ptr = add; //ÕâÁ½Ö¸Õ븳ֵµÄ¹ý³Ì¿ÉÒÔÈÎÒâ·¢»ÓÏëÏóÁ¦¡£
ptr_array[1].fun_ptr = def; //ÖÁÓÚ×÷Óã¬ÏëÏëÃæÏò¶ÔÏóÖеĶà̬°É....
for(i = 0; i < 2; i++)
{
printf("%d\n", ptr_array[i].fun_ptr(3,1));
}
return 0;
}
int add(int a, int b) { ret
Ïà¹ØÎĵµ£º
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Óд³öÄãÊÇÈçºÎ¼ÆËãÒ»ÄêÖÐÓж ......
cÔËÐпâmalloc·ÖÅäµÄÄÚ´æÔÚÄÄÀïÄØ£¬Ê×ÏÈÉÏ´úÂ룺
//ÄÚ´æ´óСÁ¬½ÓÆ÷½«ÆäµØÖ·Ö¸Ïò-heapÑ¡Ïî
extern _DATA_ACCESS int _SYSMEM_SIZE;
//ÄÚ´æÇøÓò
#pragma DATA_SECTION(_sys_memory, ".sysmem")
far PACKET _sys_memory[1] = { ((size_t)&_SYSMEM_SIZE) - sizeof(PACKET), 0 };
  ......
Ê×ÏÈÈ·±£ÏµÍ³ÒѾ°²×°ÁËgcc/g++
1> Anjuta
´ò¿ªÖÕ¶Ë:
ÃüÁî:sudo apt-get install anjuta
£¨²»Äܰ²×°µÄÐèÒªÌí¼Ó°²×°Ô´
Ìí¼ÓÔ´£ºµã»÷Ö÷²Ëµ¥Éϵēϵͳ”¡·“ϵͳ¹ÜÀ픡·“Èí¼þÔ´”£¬ÊäÈëÃÜÂëºó£¬ÔÚ³öÏֵĶԻ°¿òÖе㓵ÚÈý·½Èí¼þ”£¬
“deb http://anjuta.org.sixxs. ......
¼ì²éÄں˲ÎÊý
ÕýÔÚ¼ì²é semmsl=250; ÒÑ·¢ÏÖ semmsl=250¡£ ͨ¹ý
ÕýÔÚ¼ì²é semmns=32000; ÒÑ·¢ÏÖ semmns=32000¡£ ͨ¹ý
ÕýÔÚ¼ì²é semopm=100; ÒÑ·¢ÏÖ semopm=32¡£ ʧ°Ü <<<<
ÕýÔÚ¼ì²é semmni=128; ÒÑ·¢ÏÖ semmni=128¡£ ͨ¹ý
ÕýÔÚ¼ì²é shmmax=536870912; ÒÑ·¢ÏÖ shmmax=33554432¡£ ʧ°Ü <<<< ......
9.2 ¹²ÓÃÌå
CÓïÑÔ³ýÁËÌṩ½á¹¹ÌåÕâÖֿɰüº¬¶àÖÖÀàÐÍÊý¾ÝµÄ¹¹ÔìÀàÐÍÍ⣬»¹ÌṩÁËÒ»ÖÖ´ÓÐÎʽÉÏ¿´ºÍ½á¹¹Ìå¿°³Æ“ÂÏÉúÐֵܔµÄ¹¹ÔìÀàÐÍ——¹²ÓÃÌ壨union£©¡£
±¾½Ú´Ó¹²ÓÃÌåµÄ¸ÅÄîÈëÊÖ£¬´Ó¹²ÓÃÌåµÄ¸ÅÄî¡¢Óë½á¹¹ÌåµÄÒìͬ¡¢Ê¹Óõȷ½Ãæ½øÐÐÏêϸµÄ½éÉÜ¡£
9.2.1 ʲôÊǹ²ÓÃÌå
ÏÖʵÉú»îÖУ¬Ä³Ð©Ê ......