linux ÄÚºËÄ£¿éÖ®hello world ÎÊÌâ
ÓõÄÊÇredhat 5 £¬ÄÚºËÊÇ 2.6.18
hello.c´úÂëÈçÏÂ
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
int init_module(void){printk(" <1>hello,world \n");return 0;}
void clearnup_module(void){printk(" <1>goodbyr \n");}
====================================================
ÓÃfind ÃüÁî ÕÒ³ö module.h ÔÚ/usr/src/kernels/2.6.18-92.el5-i686/include/linux
/Ŀ¼ÏÂ
makefile ÈçÏÂ
obj-m := hello.o
KDIR :=/usr/src/kernels/2.6.18-92.el5-i686/include/linux/
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
======================================================
make ºó³öÏÖÒÔÏ´íÎó Çë¸ßÊÖÖ¸µãÏÂ
make -C /usr/src/kernels/2.6.18-92.el5-i686/include/linux/ SUBDIRS=/hom/wchlp
modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-92.el5-i686/include/linux'
make[1]: *** ûÓйæÔò¿ÉÒÔ´´½¨Ä¿±ê¡°modules¡±¡£ Í£Ö¹¡£
make[1]: Leaving directory `/usr/src/kernels/2.6.18-92.el5-i686/include/linux'
make: *** [modules] ´íÎó 2
Çë²»ÁߴͽÌ
ÏȰÑkernel makeÒ»±éÊÔÊÔ
Ïà¹ØÎÊ´ð£º
Á½Ì¨»úÆ÷ÐͺÅÍêȫһÑù
ÏëÒª°Ñһ̨»úÆ÷µÄÄÚºËÅäÖÃÎļþ¿½±´¸øÁíÍâһ̨
RT
3Q
...
.config Òþ²ØµÄ ÔÚÄãÅäÖùýÄں˺ó¾ÍÉú³ÉÁË
lsÕý½â£¬ÔÚkernelÔ´Âë¶¥²ãĿ¼ÖÐÓиö.configÎļþ£¬ÅäÖ ......
LinuxÐÂÊÖ£¬Çë´ó¸ç´ó½ã²»Òª¼ûЦ¡£
ÎÒÓÃrootÓû§µÇ¼µ½Linuxϵͳ¡£ÔÚ¸ùĿ¼ÏÂÃæ½¨ÁËĿ¼dir1£¬ºóÓÃÃüÁîcd /dir1½øÈëµ½dir1Ŀ¼Ï£¬È»ºóÔÙÓÃmkdir dir2½¨Á¢ÁËĿ¼dir2 £¬ÔÙºóÀ´ÓÃÃüÁîcd /dir2ÊÇ£¬ÌáʾΪ£º-bush ......
Linux²»Õý³£¹Ø»úµ¼ÖÂϵͳ»µ£¬ÇëÎÊÔõô¼ì²éºÍÐÞ¸´ÏµÍ³£¿
ÔÚ¸ÕÆô¶¯µÄʱºò»áÓÐÌáʾµÄ¡£
ÐÞ¸´¿ÉÒÔ¿¿livecd
»òÕß°Ñ»ù±¾ÏµÍ³²¿·ÖÖØÐ°²×°¼´¿É
ÊDz»ÊÇϵͳ±à³ÌÁËread-onlyµÄÀ²£¿ÎÞ·¨ÍùϵͳдÈëÊý¾Ý°¡£¿
ÓеÄÇé ......
СµÜ×î½üÐèÒªÒ»¸öÓÃsocket»ñÈ¡htmlÎĵµµÄ´úÂ룬µ«ÊÇÀÏÊDz»ÄÜ»ñÈ¡ÍêÕûµÄhtmlÔ´Âë¡£ÔÒò²»Ã÷£¬Íû¸ßÊÖÖ¸µã£¡
C/C++ code:
char *Http_GET(char *host,int port,char *data) //·¢ËÍGETÇëÇó
{
char response[2 ......
ÊÇÕâÑùµÄ£¬½ü¶ÎÔÚWINDOWSÉÏÉÏÍøÊ±×ÜÊÇÓв¡¶¾£¬ÎÒ²»Ï°¹ßװɱ¶¾Èí¼þ£¬ÒÔǰҲһֱûװ¹ý£¬¾õµÃÂé·³¡£È»ºó¾ÍÓ²Å̰²×°ÁËLINUX£¬»¹ºÃ£¬¿ÉÒÔÉÏÍø£¬¿ÉÒԲ鶫Î÷¡£µ«ÊÇÎÒÊÇÔÚWINDOWSÏÂ×öÈí¼þ¿ª·¢µÄ£¬»¹Ïë×°ÉÏWINDOWS£¬²»ÖªµÀÄÜ ......