Linux½ø³Ì¼äͨѶ֮¹²ÏíÄÚ´æ
¹²ÏíÄÚ´æ:
ʹÓù²ÏíÄÚ´æºÍʹÓÃmalloc()À´·ÖÅäÄÚ´æÇøÓòºÜÏàËÆ¡£Ê¹Óù²ÏíÄÚ´æµÄ·½·¨ÊÇ£º
1 ¶ÔÒ»¸ö½ø³Ì/Ïß³ÌʹÓÃshmget()·ÖÅäÄÚ´æÇøÓò¡£
2 ʹÓÃshmat()·ÅÖÃÒ»¸ö»ò¶à¸ö½ø³Ì/Ïß³ÌÔÚ¹²ÏíÄÚ´æÖУ¬Ò²¿ÉÒÔÓÃshmctl()À´»ñÈ¡ÐÅÏ¢»òÕß¿ØÖƹ²ÏíÇøÓò¡£
3 ʹÓÃshmdt()´Ó¹²ÏíÇøÓòÖзÖÀë¡£
4 ʹÓÃshmctl()½â³ý·ÖÅä¿Õ¼ä
¹²ÏíÄÚ´æÊÇLinuxÖÐ×î¿ìËÙµÄIPC·½·¨¡£ËüÒ²ÊÇÒ»¸öË«Ïò¹ý³Ì£¬¹²ÏíÇøÓòÄÚµÄÈκνø³Ì¶¼¿ÉÒÔ¶ÁдÄÚ´æ¡£Õâ¸ö»úÖÆµÄ²»Àû·½ÃæÊÇÆäͬ²½ºÍÐÒé¶¼²»ÊܳÌÐòÔ±¿ØÖÆ£¬±ØÐëÈ·±£½«¾ä±ú´«µÝ¸øÁË×Ó½ø³ÌºÍÏ̡߳£
Ò». º¯Êý£º shmget½éÉÜ
¹¦ÄÜ:È¡µÃ¹²ÏíÄÚ´æ¶Î
Óï·¨:#include <sys/types.h>;
#include <sys/ipc.h>;
#include <sys/shm.h>;
int shmget(key,size,shmflg)
key_t key;
int size,shmflg;
˵Ã÷:±¾ÏµÍ³µ÷Ó÷µ»ØkeyÏà¹ØµÄ¹²ÏíÄÚ´æ±êʶ·û.
¹²ÏíÄÚ´æ±êʶ·ûºÍÏà¹ØÊý¾Ý½á¹¹¼°ÖÁÉÙsize×ֽڵĹ²ÏíÄÚ´æ¶ÎÄÜ
Õý³£´´½¨,ÒªÇóÒÔÏÂÊÂʵ³ÉÁ¢:
. ²ÎÊýkeyµÈÓÚIPC_PRIVATE.
. ²ÎÊýkeyûÓÐÏà¹ØµÄ¹²ÏíÄÚ´æ±êʶ·û,ͬʱ(shmflg&IPC_CREAT)
ÖµÎªÕæ.
¹²ÏíÄÚ´æ´´½¨Ê±,ÐÂÉú³ÉµÄ¹²ÏíÄÚ´æ±êʶÏà¹ØµÄÊý¾Ý½á¹¹±»³õʼ
Ïà¹ØÎĵµ£º
¡¡# fstabÎļþµÄ×÷ÓÃ
¡¡¡¡Îļþ/etc/fstab´æ·ÅµÄÊÇϵͳÖеÄÎļþϵͳÐÅÏ¢¡£µ±ÕýÈ·µÄÉèÖÃÁ˸ÃÎļþ£¬Ôò¿ÉÒÔͨ¹ý"mount /directoryname"ÃüÁîÀ´¼ÓÔØÒ»¸öÎļþϵͳ£¬Ã¿ÖÖÎļþϵͳ¶¼¶ÔÓ¦Ò»¸ö¶ÀÁ¢µÄÐУ¬Ã¿ÐÐÖеÄ×ֶζ¼Óпոñ»òtab¼ü·Ö¿ª¡£Í¬Ê±fsck¡¢ mount¡¢umountµÄµÈÃüÁî¶¼ÀûÓøóÌÐò¡£
¡¡¡¡# fstabÎļþ¸ñʽ
¡¡¡¡ÏÂÃæÊÇ/etc/fata ......
1¡¢È¨Ï޵IJ鿴
ls -l ÎļþÃû³Æ
2¡¢È¨ÏÞÐÞ¸Ä
chmod abc file
ÆäÖÐa,b,c¸÷Ϊһ¸öÊý×Ö£¬·Ö±ð±íʾUser¡¢Group¡¢¼°OtherµÄȨÏÞ¡£
r=4£¬w=2£¬x=1£¬x±êʾִÐÐȨÏÞ¡£ÈôÒªrwxÊôÐÔÔò4+2+1=7£»ÈôÒ ......
¹ØÓÚqt embedded phonon °²×°ÎÊÌâ¡£
¿ÉÄÜÔÚ°²×°$sudo ./configure -phonon -phonon-backend .....µÄʱºò»á˵ÕÒ²»µ½phonon ,
ºÜÃ÷ÏÔÒòΪûÓÐÕâ¸öphononÕâ¸ö¿â£¬µ±È»¾Í»áÕÒ²»µ½£¬ÔÚ±àÒëµÄʱºò£¬
ÌØ±ðÊÇ./configure -phonon -phonon-backendµ±±àÒëºÜ¶Îʱ¼äºó»á˵£ºPhonon support cannot ...Õâ¸öʱºò¾Í¾ÍÇëÄã¼ÓÉÏ'-v'£»$sud ......
GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀµç×è(ÉÏÀ£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ»òÏÂÀµç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬ ......