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

ÿÈÕC(3.Linux³£ÓÃCº¯Êý ÄÚ´æ¿ØÖÆƪ)

ÄÚ´æ¿ØÖÆƪ
calloc
free
getpagesize
malloc
mmap
munmap
calloc£¨ÅäÖÃÄÚ´æ¿Õ¼ä£©
Ïà¹Øº¯Êý
malloc£¬free£¬realloc£¬brk
±íÍ·Îļþ
#include <stdlib.h>
¶¨Ò庯Êý
void *calloc(size_t nmemb£¬size_t size);
º¯Êý˵Ã÷
calloc()ÓÃÀ´ÅäÖÃnmemb¸öÏàÁÚµÄÄڴ浥λ£¬Ã¿Ò»µ¥Î»µÄ´óСΪsize£¬²¢·µ»ØÖ¸ÏòµÚÒ»¸öÔªËصÄÖ¸Õë¡£ÕâºÍʹÓÃÏÂÁеķ½Ê½Ð§¹ûÏàͬ:malloc(nmemb*size);²»¹ý£¬ÔÚÀûÓÃcalloc()ÅäÖÃÄÚ´æʱ»á½«ÄÚ´æÄÚÈݳõʼ»¯Îª0¡£
·µ»ØÖµ
ÈôÅäÖóɹ¦Ôò·µ»ØÒ»Ö¸Õ룬ʧ°ÜÔò·µ»ØNULL¡£
·¶Àý
/* ¶¯Ì¬ÅäÖÃ10¸östruct test ¿Õ¼ä*/
#include<stdlib.h>
struct test
{
int a[10];
char b[20];
}
main()
{
struct test *ptr=calloc(sizeof(struct test),10);
}
¡¡
free£¨ÊÍ·ÅÔ­ÏÈÅäÖõÄÄڴ棩
Ïà¹Øº¯Êý
malloc£¬calloc£¬realloc£¬brk
±íÍ·Îļþ
#include<stdlib.h>
¶¨Ò庯Êý
void free(void *ptr);
º¯Êý˵Ã÷
²ÎÊýptrΪָÏòÏÈÇ°ÓÉmalloc()¡¢calloc()»òrealloc()Ëù·µ»ØµÄÄÚ´æÖ¸Õë¡£µ÷ÓÃfree()ºóptrËùÖ¸µÄÄÚ´æ¿Õ¼ä±ã»á±»Êջء£¼ÙÈô²ÎÊýptrËùÖ¸µÄÄÚ´æ¿Õ¼äÒѱ»ÊջػòÊÇδ֪µÄÄÚ´æµØÖ·£¬Ôòµ÷ÓÃfree()¿ÉÄÜ»áÓÐÎÞ·¨Ô¤ÆÚµÄÇé¿ö·¢Éú¡£Èô²ÎÊýptrΪNULL£¬Ôòfree()²»»áÓÐÈκÎ×÷Óá£
¡¡
getpagesize£¨È¡µÃÄÚ´æ·ÖÒ³´óС£©
Ïà¹Øº¯Êý
sbrk
±íÍ·Îļþ
#include<unistd.h>
¶¨Ò庯Êý
size_t getpagesize(void);
º¯Êý˵Ã÷
·µ»ØÒ»·ÖÒ³µÄ´óС£¬µ¥Î»Îª×Ö½Ú£¨byte£©¡£´ËΪϵͳµÄ·ÖÒ³´óС£¬²»Ò»¶¨»áºÍÓ²¼þ·ÖÒ³´óСÏàͬ¡£
·µ»ØÖµ
ÄÚ´æ·ÖÒ³´óС¡£¸½¼Ó˵Ã÷ÔÚIntel x86 ÉÏÆä·µ»ØֵӦΪ4096bytes¡£
·¶Àý
#include <unistd.h>
main()
{
printf(“page size = %d\n”,getpagesize( ) );
}
¡¡
malloc£¨ÅäÖÃÄÚ´æ¿Õ¼ä£©
Ïà¹Øº¯Êý
calloc£¬free£¬realloc£¬brk
±íÍ·Îļþ
#include<stdlib.h>
¶¨Ò庯Êý
void * malloc(size_t size);
º¯Êý˵Ã÷
malloc()ÓÃÀ´ÅäÖÃÄÚ´æ¿Õ¼ä£¬Æä´óСÓÉÖ¸¶¨µÄsize¾ö¶¨¡£
·µ»ØÖµ
ÈôÅäÖóɹ¦Ôò·µ»ØÒ»Ö¸Õ룬ʧ°ÜÔò·µ»ØNULL¡£
·¶Àý
void p = malloc(1024); /*ÅäÖÃ1kµÄÄÚ´æ*/
¡¡
mmap£¨½¨Á¢ÄÚ´æÓ³É䣩
Ïà¹Øº¯Êý
munmap£¬open
±íÍ·Îļþ
#include <unistd.h>
#include <sys/mman.h>
¶¨Ò庯Êý
void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);
º¯Êý˵Ã÷
mmap()ÓÃÀ´½«Ä³¸öÎļþÄÚÈÝÓ


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

linux ÏÂDNSÅäÖôíÎó·ÖÎö

DNSÅäÖôíÎó
´íÎó1
dns_master_load: *:2: unexpected end of line
´íÎó2
>linux.zzw.com
* Server: 127.0.0.1 *
* Address: 127.0.0.1#53 *
* *
*** server can't find linux.zzw.com: SERVFAIL *
linuxÏ´íÎó²é¿´ /var/log/messages
¸ÃÎļþÏÂÓÐservice named restart µÄÆô¶¯ÈÕÖ¾
µ±¸Ã·þÎñÆô¶¯Ê±£¬¹ý³ÌÈçÏ ......

LinuxÖеĶ¯Ì¬Á´½Ó¿âÓ뾲̬Á´½Ó¿â

¾²Ì¬Á´½Ó¿âÊÇÒÔ.a½áβµÄÎļþ,Ò»°ãÊÇÓù¤¾ß½«¶à¸ö.oÎļþºÏ²¢µ½Ò»Æð×é³É¾²Ì¬¿â
¶¯Ì¬Á´½Ó¿âÊÇÒÔ.so½áβµÄÎļþ,ºÍwindowsϵÄdllÎļþÀàËÆ¡£
¾²Ì¬Á´½Ó¿â¶¼¿ÉÒÔÔÚ³ÌÐò±àÒë¹ý³ÌÖÐÓà -L²ÎÊýÀ´Ö¸¶¨ËûÃÇ -L/opt/lib/XXX.a
¶¯Ì¬Á´½Ó¿âÒ»°ãÊÇÔÚLD_LIBRARY_PATHÖÐÀ´Ö¸¶¨ËÑË÷·¾¶,Ò²¿ÉÒÔÔÚ -L/opt/lib ºóÃæ¼ÓÒ»¸ö lXX,¶ÔÓ¦ÁËlibÖеÄXX. ......

linuxϵÄframebufferµÄÀý×Ó(ת)

Àý×ÓʵÏÖÁËÖ±½ÓдÆÁµÄ¹¦ÄÜ£¬¼´°ÑÆÁÄ»Çå¿Õ£¨±äºÚ£©£¬³ÌÐòµÄÁ÷³Ì´óÖÂΪ£º´ò¿ªÒ»¸öFrameBufferÉ豸£»Í¨¹ýmmapµ÷ÓðÑÏÔ¿¨µÄÎïÀíÄÚ´æ¿Õ¼äÓ³Éäµ½Óû§¿Õ¼ä£»Í¨¹ýÓ³Éä¹Øϵֱ½ÓдÄÚ´æ¡£
Í·Îļþ
////////////////////////////////////////
///////////// fbtools.h ////////////////
////////////////////////////////////////
# ......

linux qtϱà³Ì

1¡¢Ð½¨Ä¿Â¼qthello,²¢½øÈëqthelloĿ¼
mkdir qthello
cd qthello
×¢Ò⣺Qt ³ÌÐòÏîÄ¿²»ÄÜÒÔ "qt"¡¢“qt-mt”¡¢“qte” µÈ×÷ΪÆ䶥¼¶Ä¿Â¼Ãû£¬·ñÔò±àÒëʱ»á·¢Éú´íÎó¡£
½¨Á¢Ô´Îļþhello.cpp,²¢ÊäÈëÏÂÁÐÄÚÈÝ£¬È»ºó±£´æ¡£
#include <QApplication>
#include <QLabel>
int main (int arg ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ