¶Ô±È£ºLinuxºÍWindowsϵͳÏ̼߳äµÄÇø±ð
ÊìϤWIN32±à³ÌµÄÈËÒ»¶¨ÖªµÀ£¬WIN32µÄ½ø³Ì¹ÜÀí·½Ê½ÓëLinuxÉÏÓÐןܴóÇø±ð£¬ÔÚUNIXÀֻÓнø³ÌµÄ¸ÅÄµ«ÔÚWIN32ÀïÈ´»¹ÓÐÒ»¸ö"Ïß³Ì"µÄ¸ÅÄÄÇôLinuxºÍWIN32ÔÚÕâÀ﾿¾¹ÓÐ×ÅÊ²Ã´Çø±ðÄØ£¿
WIN32ÀïµÄ½ø³Ì/Ïß³ÌÊǼ̳Ð×ÔOS/2µÄ¡£ÔÚWIN32À"½ø³Ì"ÊÇÖ¸Ò»¸ö³ÌÐò£¬¶ø"Ïß³Ì"ÊÇÒ»¸ö"½ø³Ì"ÀïµÄÒ»¸öÖ´ÐÐ"ÏßË÷"¡£´ÓºËÐÄÉϽ²£¬ WIN32µÄ¶à½ø³ÌÓëLinux²¢ÎÞ¶à´óµÄÇø±ð£¬ÔÚWIN32ÀïµÄÏ̲߳ÅÏ൱ÓÚLinuxµÄ½ø³Ì£¬ÊÇÒ»¸öʵ¼ÊÕýÔÚÖ´ÐеĴúÂë¡£µ«ÊÇ£¬WIN32Àïͬһ¸ö½ø³ÌÀï¸÷¸öÏß³ÌÖ®¼äÊǹ²ÏíÊý¾Ý¶ÎµÄ¡£Õâ²ÅÊÇÓëLinuxµÄ½ø³Ì×î´óµÄ²»Í¬¡£
ÏÂÃæÕâ¶Î³ÌÐòÏÔʾÁËWIN32ÏÂÒ»¸ö½ø³ÌÈçºÎÆô¶¯Ò»¸öÏ̡߳£
int g;
DWORD WINAPI ChildProcess( LPVOID lpParameter ){
int i;
for ( i = 1; i <1000; i ++) {
g ++;
printf( "This is Child Thread: %d\n", g );
}
ExitThread( 0 );
};
void main()
{
int threadID;
int i;
g = 0;
CreateThread( NULL, 0, ChildProcess, NULL, 0, &threadID );
for ( i = 1; i <1000; i ++) {
g ++;
printf( "This is Parent Thread: %d\n", g );
}
}
ÔÚWIN3 ......
Spca5xx ÉãÏñÍ·Çý¶¯ÒÆÖ²£¨For Linux 2.6.14£©
Ò»£®ÏÂÔØ²¢½âѹSpca5xxÇý¶¯£¬±¾ÎÄʹÓÃÁËgspcav1-20070508°æ±¾¡£
¶þ£®°æ±¾ËµÃ÷£ºÖ®Ç°³¢ÊÔ¹ýspca5xx*µÄ¶à¸ö°æ±¾£¬ËäÈ»ÒÆÖ²Ã»ÓÐÎÊÌ⣬µ«ÊÇÔÚ½øÐÐv4lÓ¦ÓÃʱ£¬³öÏֺܶàĪÃûÆäÃîµÄ´íÎ󣬱ÈÈçISOC data errorµÈ£¬ºóÀ´»»³ÉÁË×îеÄgspca°æ±¾£¬ÎÊÌâÈ«²¿½â¾ö¡£
Èý£®ÍêÕû±àÒëÒÆÖ²ºÃµÄLinux 2.6.14 for S3C2410Äںˣ¬ÖÁÓÚ¹ý³Ì£¬¿É²Î¿¼blogÀïµÄÁíһƪÄÚºËÒÆÖ²Îĵµ¡£
ËÄ£®ÐÞ¸ÄMakefile
£¨1£© Ð޸ıäÁ¿KERNELDIR := ~/linux-2.6.14
£¨2£© Ð޸ıäÁ¿MODULE_INSTALLDIR := $KERNELDIR/drivers/usb/media/
£¨3£© Ð޸ıäÁ¿MODULE_INSTALLDIR2 := $KERNELDIR/drivers/media/video/
£¨4£© Ôö¼Ó±äÁ¿CROSS_COMPILE_CC := /usr/local/arm/3.4.1/bin/arm-linux-gcc
£¨ÕâÀïʹÓõıàÒëÆ÷ÊÇarm-linux-gcc-3.4.1£©
£¨5£© ÐÞ¸ÄÃüÁ
Ô´´úÂ룺$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) CC=$(CC) modules
½« $(CC) ÐÞ¸ÄΪ $(CROSS_COMPILE_CC)
Î壮±àÒëGspca
#make clean
#make
Áù£®½á¹û
ÔÚGspcaÖ÷Ŀ¼Ï²úÉúgspca.ko ......
[root@localhost root]# ls -l
»áÏÔʾĿ¼»òÎļþÐÅÏ¢£ºdrwxr-xr-x 2 root root 4096 06-29 14:30 Test
-rwxr--r-- 2 root root 2033 07-11 9:30 Test.txt
7¸ö²¿·Ö¶ÔÓ¦½âÊÍ£ºÎļþȨÏÞ Á´½ÓÊý Óû§Ãû Óû§ËùÔÚ×é Îļþ´óС ´´½¨Ê±¼ä ÎļþÃû
¾ßÌå˵Ã÷µÚÒ»²¿·Ö£ºdrwxr-xr-x ¹²11λ ·Ö³É4²¿·Ö¿´——>d rwx r-x r-x
r¿É¶Á£¬¶ÔÓ¦Êý×Ö4/ w¿Éд£¬¶ÔÓ¦Êý×Ö2/ x¿ÉÖ´ÐУ¬¶ÔÓ¦Êý×Ö1
1£ºdĿ¼£¬-Ò»°ãÎļþ
2£ºÎļþÓµÓÐÕß¶ÔÎļþµÄ·ÃÎÊȨÏÞ(user)
3£ºÎļþÓµÓÐÕßËùÔÚ×é¶ÔÎļþµÄ·ÃÎÊȨÏÞ(group)
4£ºÆäËû×éÓû§¶ÔÎļþµÄ·ÃÎÊȨÏÞ(others)
ÀýÈ磺¶ÔĿ¼test,Óû§rootÓпɶÁ¿Éд¿ÉÖ´ÐÐ(rwx)µÄȨÏÞ
chmod ¸Ä±äÎļþ»òĿ¼·ÃÎÊȨÏÞ Ðèloginµ½root»òÓû§±¾Éí²ÅÄÜÐÞ¸Ä
chmod 777 test ——> drwxr-xr-x ±ä³É drwxrwxrwx
chmod 664 test ......
ÔÎĵØÖ·£ºhttp://soft.yesky.com/os/lin/326/2237826.shtml
±¾ÎÄÏêϸµØ½éÉÜÁËÔÚ Linux 2.6.13 ÄÚºËÖÐÐÂÒýÈëµÄÎļþϵͳ±ä»¯Í¨Öª»úÖÆ inotify£¬²¢¾ÙÀý˵Ã÷ÁËËüµÄʹÓÃÓëµäÐÍÓ¦Óð¸Àý¡£
Ò»¡¢ÒýÑÔ
ÖÚËùÖÜÖª£¬Linux ×ÀÃæÏµÍ³Óë MAC »ò Windows Ïà±ÈÓÐÐí¶à²»ÈçÈËÒâµÄµØ·½£¬ÎªÁ˸ÄÉÆÕâÖÖ×´¿ö£¬¿ªÔ´ÉçÇøÌá³öÓû§Ì¬ÐèÒªÄÚºËÌṩһЩ»úÖÆ£¬ÒÔ±ãÓû§Ì¬Äܹ»¼°Ê±µØµÃÖªÄں˻òµ×²ãÓ²¼þÉ豸·¢ÉúÁËʲô£¬´Ó¶øÄܹ»¸üºÃµØ¹ÜÀíÉ豸£¬¸øÓû§Ìṩ¸üºÃµÄ·þÎñ£¬Èç hotplug¡¢udev ºÍ inotify ¾ÍÊÇÕâÖÖÐèÇó´ßÉúµÄ¡£Hotplug ÊÇÒ»ÖÖÄÚºËÏòÓû§Ì¬Ó¦ÓÃͨ±¨¹ØÓÚÈȲå°ÎÉ豸һЩʼþ·¢ÉúµÄ»úÖÆ£¬×ÀÃæÏµÍ³Äܹ»ÀûÓÃËü¶ÔÉ豸½øÐÐÓÐЧµÄ¹ÜÀí£¬udev ¶¯Ì¬µØÎ¬»¤ /dev ϵÄÉ豸Îļþ£¬inotify ÊÇÒ»ÖÖÎļþϵͳµÄ±ä»¯Í¨Öª»úÖÆ£¬ÈçÎļþÔö¼Ó¡¢É¾³ýµÈʼþ¿ÉÒÔÁ¢¿ÌÈÃÓû§Ì¬µÃÖª£¬¸Ã»úÖÆÊÇÖøÃûµÄ×ÀÃæËÑË÷ÒýÇæÏîÄ¿ beagle ÒýÈëµÄ£¬²¢ÔÚ Gamin µÈÏîÄ¿Öб»Ó¦Óá£
ÊÂʵÉÏ£¬ÔÚ inotify ֮ǰÒѾ´æÔÚÒ»ÖÖÀàËÆµÄ»úÖÆ½Ð dnotify£¬µ«ÊÇËü´æÔÚÐí¶àȱÏÝ£º
1£®¶ÔÓÚÏë¼àÊÓµÄÿһ¸öĿ¼£¬Óû§¶¼ÐèÒª´ò¿ªÒ»¸öÎļþÃèÊö·û£¬Òò´ËÈç¹ûÐèÒª¼àÊÓµÄĿ¼½Ï¶à£¬½«µ¼Ö´ò¿ªÐí¶àÎļþ¡¢Êö·û£¬ÌرðÊÇ£¬ ......
/usrÎļþϵͳ
¡¡¡¡/usr Îļþϵͳ¾³£ºÜ´ó£¬ÒòΪËùÓгÌÐò°²×°ÔÚÕâÀï. /usr ÀïµÄËùÓÐÎļþÒ»°ãÀ´×ÔLinux distribution£»±¾µØ°²×°µÄ³ÌÐòºÍÆäËû¶«Î÷ÔÚ/usr/local ÏÂ.ÕâÑù¿ÉÄÜÔÚÉý¼¶Ð°æÏµÍ³»òÐÂdistributionʱÎÞÐëÖØÐ°²×°È«²¿³ÌÐò.
/usr/X11R6
X WindowϵͳµÄËùÓÐÎļþ.Ϊ¼ò»¯XµÄ¿ª·¢ºÍ°²×°£¬XµÄÎļþûÓм¯³Éµ½ÏµÍ³ÖÐ. X×Ô¼ºÔÚ/usr/X11R6 ÏÂÀàËÆ/usr .
/usr/X386
ÀàËÆ/usr/X11R6 £¬µ«ÊǸøX11 Release 5µÄ.
/usr/bin
¼¸ºõËùÓÐÓû§ÃüÁî.ÓÐЩÃüÁîÔÚ/bin »ò/usr/local/bin ÖÐ.
/usr/sbin
¸ùÎļþϵͳ²»±ØÒªµÄϵͳ¹ÜÀíÃüÁÀýÈç¶àÊý·þÎñ³ÌÐò.
/usr/man , /usr/info , /usr/doc
ÊÖ²áÒ³¡¢GNUÐÅÏ¢ÎĵµºÍ¸÷ÖÖÆäËûÎĵµÎļþ.
/usr/include
C±à³ÌÓïÑÔµÄÍ·Îļþ.ΪÁËÒ»ÖÂÐÔÕâʵ¼ÊÉÏÓ¦¸ÃÔÚ/usr/lib Ï£¬µ«´«Í³ÉÏÖ§³ÖÕâ¸öÃû×Ö.
/usr/lib
³ÌÐò»ò×ÓϵͳµÄ²»±äµÄÊý¾ÝÎļþ£¬°üÀ¨Ò»Ð©site-wideÅäÖÃÎļþ.Ãû×ÖlibÀ´Ô´ÓÚ¿â(library); ±à³ÌµÄÔʼ¿â´æÔÚ/usr/lib Àï.
/usr/local
±¾µØ°²×°µÄÈí¼þºÍÆäËûÎļþ·ÅÔÚÕ ......
¿â´Ó±¾ÖÊÉÏÀ´ËµÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖƸñʽ£¬¿ÉÒÔ±»ÔØÈëÄÚ´æÖÐÖ´ÐС£¿â·Ö¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄÇø±ð
1. ¾²Ì¬º¯Êý¿â
ÕâÀà¿âµÄÃû×ÖÒ»°ãÊÇlibxxx.a£»ÀûÓþ²Ì¬º¯Êý¿â±àÒë³ÉµÄÎļþ±È½Ï´ó£¬ÒòΪÕû¸ö º¯Êý¿âµÄËùÓÐÊý¾Ý¶¼»á±»ÕûºÏ½øÄ¿±ê´úÂëÖУ¬ËûµÄÓŵã¾ÍÏÔ¶øÒ×¼ûÁË£¬¼´±àÒëºóµÄÖ´ÐгÌÐò²»ÐèÒªÍⲿµÄº¯Êý¿âÖ§³Ö£¬ÒòΪËùÓÐʹÓõĺ¯Êý¶¼ÒѾ±»±àÒë½øÈ¥ÁË¡£µ±È»ÕâÒ²»á³ÉΪËûµÄȱµã£¬ÒòΪÈç¹û¾²Ì¬º¯Êý¿â¸Ä±äÁË£¬ÄÇôÄãµÄ³ÌÐò±ØÐëÖØÐ±àÒë¡£
2. ¶¯Ì¬º¯Êý¿â
ÕâÀà¿âµÄÃû×ÖÒ»°ãÊÇlibxxx.so;Ïà¶ÔÓÚ¾²Ì¬º¯Êý¿â£¬¶¯Ì¬º¯Êý¿âÔÚ±àÒëµÄʱºò ²¢Ã»Óб»±àÒë½øÄ¿±ê´úÂëÖУ¬ÄãµÄ³ÌÐòÖ´Ðе½Ïà¹Øº¯Êýʱ²Åµ÷Óøú¯Êý¿âÀïµÄÏàÓ¦º¯Êý£¬Òò´Ë¶¯Ì¬º¯Êý¿âËù²úÉúµÄ¿ÉÖ´ÐÐÎļþ±È½ÏС¡£ÓÉÓÚº¯Êý¿âûÓб»ÕûºÏ½øÄãµÄ³ÌÐò£¬¶øÊdzÌÐòÔËÐÐʱ¶¯Ì¬µÄÉêÇë²¢µ÷Óã¬ËùÒÔ³ÌÐòµÄÔËÐл·¾³ÖбØÐëÌṩÏàÓ¦µÄ¿â¡£¶¯Ì¬º¯Êý¿âµÄ¸Ä±ä²¢²»Ó°ÏìÄãµÄ³ÌÐò£¬ËùÒÔ¶¯Ì¬º¯Êý¿âµÄÉý¼¶±È½Ï·½±ã¡£
linuxϵͳÓм¸¸öÖØÒªµÄĿ¼´æ·ÅÏàÓ¦µÄº¯Êý¿â£¬Èç/lib /usr/lib¡£
¾²Ì¬¿âµÄʹÓÃ
¾²Ì¬¿âµÄ²Ù×÷¹¤¾ß£ºgccºÍar ÃüÁî¡£
±àд¼°Ê¹Óþ²Ì¬¿â
(1)Éè¼Æ¿âÔ´Âë pr1. ......