Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÏÂARM»ã±àÓï·¨

µÚÒ»²¿·Ö LinuxÏÂARM»ã±àÓï·¨
 
      ¾¡¹ÜÔÚLinuxÏÂʹÓÃC»òC++±àд³ÌÐòºÜ·½±ã£¬µ«»ã±àÔ´³ÌÐòÓÃÓÚϵͳ×î»ù±¾µÄ³õʼ»¯£¬Èç³õʼ»¯¶ÑÕ»Ö¸Õë¡¢ÉèÖÃÒ³±í¡¢²Ù×÷ ARMµÄЭ´¦ÀíÆ÷µÈ¡£³õʼ»¯Íê³Éºó¾Í¿ÉÒÔÌø×ªµ½C´úÂëÖ´ÐС£ÐèҪעÒâµÄÊÇ£¬GNUµÄ»ã±àÆ÷×ñÑ­AT&TµÄ»ã±àÓï·¨£¬¿ÉÒÔ´ÓGNUµÄÕ¾µã £¨www.gnu.org£©ÉÏÏÂÔØÓйع淶¡£
Ò». Linux»ã±àÐнṹ
Èκλã±àÐж¼ÊÇÈçϽṹ£º
[:] [} @ comment
[:] [} @ ×¢ÊÍ
Linux ARM »ã±àÖУ¬ÈκÎÒÔðºÅ½áβµÄ±êʶ·û¶¼±»ÈÏΪÊÇÒ»¸ö±êºÅ£¬¶ø²»Ò»¶¨·ÇÒªÔÚÒ»ÐеĿªÊ¼¡£
¡¾Àý1¡¿¶¨ÒåÒ»¸ö"add"µÄº¯Êý£¬·µ»ØÁ½¸ö²ÎÊýµÄºÍ¡£
.section .text, “x”
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1   @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program
¶þ. Linux »ã±à³ÌÐòÖеıêºÅ
 
    ±êºÅÖ»ÄÜÓÉa¡«z£¬A¡«Z£¬0¡«9£¬“.”£¬_µÈ×Ö·û×é³É¡£µ±±êºÅΪ0¡«9µÄÊý×ÖʱΪ¾Ö²¿±êºÅ£¬¾Ö²¿±êºÅ¿ÉÒÔÖØ¸´³öÏÖ,ʹÓ÷½·¨ÈçÏ£º
? ±êºÅf: ÔÚÒýÓõĵط½ÏòǰµÄ±êºÅ
? ±êºÅb: ÔÚÒýÓõĵط½ÏòºóµÄ±êºÅ
¡¾Àý2¡¿Ê¹Óþֲ¿·ûºÅµÄÀý×Ó£¬Ò»¶ÎÑ­»·³ÌÐò
1:
   subs r0,r0,#1        @ÿ´ÎÑ­»·Ê¹r0=r0-1
   bne 1f       @Ìø×ªµ½1±êºÅÈ¥Ö´ÐÐ
¾Ö²¿±êºÅ´ú±íËüËùÔڵĵØÖ·,Òò´ËÒ²¿ÉÒÔµ±×÷±äÁ¿»òÕߺ¯ÊýÀ´Ê¹Óá£
Èý. Linux»ã±à³ÌÐòÖеķֶÎ
£¨1£©.sectionα²Ù×÷
        Óû§¿ÉÒÔͨ¹ý.sectionα²Ù×÷À´×Ô¶¨ÒåÒ»¸ö¶Î,¸ñʽÈçÏÂ:
      .section section_name [, "flags"[, %type[,flag_specific_arguments]]]
      ÿһ¸ö¶ÎÒÔ¶ÎÃûΪ¿ªÊ¼, ÒÔÏÂÒ»¸ö¶ÎÃû»òÕßÎļþ½áβΪ½áÊø¡£ÕâЩ¶Î¶¼ÓÐȱʡµÄ±êÖ¾£¨flags£©,Á¬½ÓÆ÷¿ÉÒÔʶ±ðÕâЩ±êÖ¾¡£(ÓëarmasmÖеÄAREAÏàͬ)¡£
ÏÂÃæÊÇELF¸ñʽÔÊÐíµÄ¶Î±êÖ¾
º¬Òå
a ÔÊÐí¶Î
w ¿Éд¶Î
x Ö´ÐжÎ
¡¾Àý3¡¿¶¨Òå¶Î
.section .mysection @×Ô¶¨ÒåÊý¾Ý¶Î£¬¶ÎÃûΪ “.mysection”
.align   2
strtemp:
.ascii   "Temp string \n\0"
£¨2£©»ã±àϵͳԤ¶¨ÒåµÄ¶ÎÃû
.text   @´úÂë¶Î
.data   @³õʼ»¯Êý¾Ý¶Î
.bss   @δ³õʼ»¯Êý¾


Ïà¹ØÎĵµ£º

LinuxÏÂselectºÍpollµÄÓ÷¨

select()º¯ÊýµÄ×÷ÓÃ
    ϵͳµ÷ÓÃselectºÍpollµÄºó¶ËʵÏÖ£¬ÓÃÕâÁ½¸öϵͳµ÷ÓÃÀ´²éѯÉ豸ÊÇ·ñ¿É¶Áд£¬»òÊÇ·ñ´¦ÓÚijÖÖ״̬¡£Èç¹ûpollΪ¿Õ£¬ÔòÇý¶¯É豸»á±»ÈÏΪ¼´¿É¶ÁÓÖ¿Éд£¬·µ»ØÖµÊÇÒ»¸ö״̬ÑÚÂë
ÈçºÎʹÓÃselect()º¯Êý?
    select()º¯ÊýµÄ½Ó¿ÚÖ÷ÒªÊǽ¨Á¢ÔÚÒ»ÖÖ½Ð'fd_set'ÀàÐ͵Ļù´¡ÉÏ¡£Ëü( ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç9 Ò첽֪ͨÓëÒì²½I/O


Ò첽֪ͨ£ºÒ»µ©É豸¾ÍÐ÷£¬ÔòÖ÷¶¯Í¨ÖªÓ¦ÓóÌÐò£¬ÕâÑùÓ¦ÓóÌÐò¸ù±¾²»ÐèÒª²éѯÉ豸״̬£¬ÕâÒ»µã·Ç³£ÀàËÆÓÚÓ²¼þÉϵēÖжϔµÄ¸ÅÄ±È½Ï׼ȷµÄ³ÆÎ½ÊÇ“ÐźÅÇý¶¯µÄÒì²½I/O
 
//Æô¶¯ÐźÅÇý¶¯»úÖÆ
signal(SIGIO, input_handler);//ÈÃinput_handler()´¦ÀíSIGIOÐźÅ
fcntl(fd, F_SETOWN, getpid());//Éè ......

linux Îļþ¼Ð ²Ù×÷ƪ

1.´´½¨Ä¿Â¼
   mkdir [-p][--help][--version][-m <Ŀ¼ÊôÐÔ>][Ŀ¼Ãû³Æ]
   -m¿ÉÒÔ¶ÔĿ¼ÉèÖôæÈ¡È¨ÏÞ,Ò²¿ÉÒÔÓÃchmodeÃüÁîÉèÖÃ,
   -p ¿ÉÒÔÊÇÒ»¸ö·¾¶Ãû³Æ,Èç¹û·¾¶ÖÐÓÐЩĿ¼²»´æÔÚ,ÄÇô»á×Ô¶¯´´½¨
2.ɾ³ý¿ÕĿ¼
    Óï¡¡¡¡·¨£ºrmdir [-p][--hel ......

LINUX ÄÚ´æÓ³Éä

ÔÚ³£¹æIOÖУ¬ÎÒÃÇÒ»°ã¶¼ÊÇÈÏΪºÍÎļþϵͳ×öIO²Ù×÷×ÜÊÇÎÞ·¨±ÜÃâµÄ±ØÐë²»ÑáÆä·³µÄwrite£¬read£¬¶øÊÂʵÉÏÕâÖÖ·½Ê½ÔÚ½øÐÐһЩ´óÎļþ²Ù×÷µÄʱºò£¬ÏÔµÃÊ®·ÖµÄ²»±ã£¬ÏÂÃæÕâ¶Î´úÂ뼴չʾÁËÈç¹û½«ÎïÀíÓ²ÅÌÉϵÄÊý¾ÝÓ³Éäµ½ÄÚ´æÖУ¬ÎÒÃÇÏñ²Ù×÷ÆÕͨµÄÄÚ´æÒ»Ñù¶ÔÎļþ½øÐжÁд£º
#include <sys/mman.h>
#include <sys/types.h&g ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ïß³Ì³Ø ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ