linux ÏÔʽµ÷Óà ×Ô¼ºÐ´µÄ¶¯Ì¬¿â
~/test
|
|
|------main.c
|------lib
| |
| |------StringLen.h
| |------Strlen.c
| |------Strnlen.c
----------------StringLen.h:
#ifndef _STRINGLEN_H__
#define _STRINGLEN_H__
int Strlen(char *pStr);
int StrNlen(char *pStr, unsigned long ulMaxLen);
#endif
-------------------------------------------------
---------------Strlen.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen.h"
int Strlen(char *pStr)
{
unsigned long ulLength;
assert(NULL != pStr);
ulLength = 0;
while(*pStr++)
{
ulLength++;
}
return ulLength;
}
-------------------------------------------------
---------------Strnlen.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen.h"
int StrNlen(char *pStr, unsigned long ulMaxLen)
{
unsigned long ulLength;
assert(NULL != pStr);
if(ulMaxLen <= 0)
{
printf("Wrong Max Length!\n");
return -1;
} &
Ïà¹ØÎĵµ£º
¡ð
¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚ
Linux
µÄ
2.6.10
ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔ
Linux
Device
Driver3
ÌṩµÄ
scull
³ÌÐò
(scull
Ŀ¼ÖеÄ
main.c
ºÍ
scull.h)
Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬
module_init( )
ºÍ
module_exit(
)
ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж ......
ÔÚÀàunix
²Ù×÷ϵͳ
ÖУ¬Çý¶¯
¼ÓÔØ
·½Ê½Ò»°ã·ÖΪ£º¶¯Ì¬¼ÓÔØºÍ¾²Ì¬¼ÓÔØ£¬ÏÂÃæ·Ö±ð¶ÔÆäÏêϸÂÛÊö¡£
Ò»¡¢¶¯Ì¬¼ÓÔØ
¶¯Ì¬¼ÓÔØÊǽ«Çý¶¯Ä£¿é¼ÓÔØµ½ÄÚºË
ÖУ¬¶ø²»ÄÜ·ÅÈë/lib/modules/Ï¡£
ÔÚ2.4ÄÚºËÖУ¬¼ÓÔØÇý¶¯ÃüÁî
Ϊ£ºinsmod ,ɾ³ýÄ£¿éΪ£ºrmmod£»
ÔÚ2 ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àÒ»Ó¦ÓóÌÐò£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬ insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö¡£
&n ......
tcÊǸöÅäÖÃLinuxÄÚºËÁ÷Á¿¿ØÖƵŤ¾ß Ãû×Ö tc - ÏÔʾ£¯Î¬»¤Á÷Á¿¿ØÖÆÅäÖà ժҪ tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ] tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qd ......
st='abcd'
1.×Ö·û´®³¤¶È
expr length $st »òÕß ${#st}
2.È¡×Ö·û´®µÄsubstring
expr substr "$var" startpos length »òÕß ${var:m} ${var:m:len}
${var:m}ÖеÄmµÄȡֵ´Ó0µ½${#var}-1£¬Æä·µ»ØµÄÊÇ´ÓµÚm¸ö×Ö·ûµ½×îºóµÄ²¿·Ö£»ÀýÈçecho ${st:1}µÄ½á¹ûÊÇ'bcd'
expr substr "$var" startpos length ÖеÄstartposȡֵ·¶Î§ÊÇ ......