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

linuxÄÚºËÄ£¿éºÍÇý¶¯³ÌÐòµÄ±àд

linuxÖеĴ󲿷ÖÇý¶¯³ÌÐò,ÊÇÒÔÄ£¿éµÄÐÎʽ±àдµÄ.ÕâЩÇý¶¯³ÌÐòÔ´Âë¿ÉÒÔÐ޸ĵ½ÄÚºËÖÐ,Ò²¿ÉÒÔ°ÑËûÃDZàÒë³ÉÄ£¿éÐÎÊÆ,ÔÚÐèÒªµÄʱºò¶¯Ì¬¼ÓÔØ.
Ò»¸öµäÐ͵ÄÇý¶¯³ÌÐò,´óÌåÉÏ¿ÉÒÔ·ÖΪÕâô¼¸¸ö²¿·Ö:
1¡¢×¢²áÉ豸
ÔÚϵͳ³õÆô,»òÕßÄ£¿é¼ÓÔØÊ±ºò,±ØÐ뽫É豸µÇ¼Çµ½ÏàÓ¦µÄÉ豸Êý×é,²¢·µ»ØÉ豸µÄÖ÷Çý¶¯ºÅ,ÀýÈç:¶Ô¿ìÉ豸À´Ëµµ÷ÓÃrefister_blkdec()½«É豸Ìí¼Óµ½Êý×éblkdevÖÐ.²¢ÇÒ»ñµÃ¸ÃÉ豸ºÅ.²¢ÀûÓÃÕâЩÉ豸ºÅ¶Ô´ËÊý×é½øÐÐË÷Òý.¶ÔÓÚ×Ö·ûÇý¶¯É豸À´Ëµ,ҪʹÓÃmodule_register_chrdev()À´»ñµÃ×£É豸µÄÇý¶¯ºÅ.È»ºó¶ÔÕâ¸öÉ豸µÄËùÓе÷Óö¼ÓÃÕâ¸öÉ豸ºÅÀ´ÊµÏÖ
2¡¢¶¨Ò幦Äܺ¯Êý
¶ÔÓÚÿһ¸öÇý¶¯º¯ÊýÀ´Ëµ.¶¼ÓÐһЩºÍ´ËÉ豸ÃÜÇÐÏà¹ØµÄ¹¦Äܺ¯Êý.ÄÇ×î³£ÓõĿéÉ豸»òÕß×Ö·ûÉ豸À´Ëµ.¶¼´æÔÚ×ÅÖîÈç open() read() write() ioctrol()ÕâÒ»ÀàµÄ²Ù×÷.µ±ÏµÍ³ÉçÓÃÕâЩµ÷ÓÃʱ.½«×Ô¶¯µÄʹÓÃÇý¶¯º¯ÊýÖÐÌØ¶¨µÄÄ£¿é.À´ÊµÏÖ¾ßÌåµÄ²Ù×÷.¶ø¶ÔÓÚÌØ¶¨µÄÉ豸.ÉÏÃæµÄϵͳµ÷ÓöÔÓ¦µÄº¯ÊýÊÇÒ»¶¨µÄ.
Èç:ÔÚ¿éÇý¶¯É豸ÖÐ.µ±ÏµÍ³ÊÔͼ¶ÁÈ¡Õâ¸öÉ豸(¼´µ÷ÓÃread()ʱ),¾Í»áÔËÐÐÇý¶¯³ÌÐòÖеÄblock_read() Õâ¸öº¯Êý. ´ò¿ªÐÂÉ豸ʱ»áµ÷ÓÃÕâ¸öÉ豸Çý¶¯³ÌÐòµÄdevice_open() Õâ¸öº¯Êý.
3¡¢Ð¶ÔØÄ£¿é
ÔÚ²»ÓÃÕâ¸öÉ豸ʱ,¿ÉÒÔ½«ËûÐ¶ÔØ.Ö÷ÒªÊÇ´Ó/proc ÖÐÈ¡ÏûÕâ¸öÉ豸µÄÌØÊâÎļþ.¿ÉÓÃÌØ¶¨µÄº¯ÊýʵÏÖ.
ÏÂÃæÎÒÃÇÁоÙÒ»¸ö×Ö·ûÉ豸Çý¶¯³ÌÐòµÄ¿ò¼Ü.À´ËµÃ÷Õâ¸ö¹ý³Ì.
/* a module of a character device */
/* some include files*/
#include "param.h"
#include "user.h"
#include "tty.h"
#include "dir.h"
#include "fs.h"
/* the include files modules need*/
#include "linux/kernel.h"
#include "linux/module.h"
#if CONFIG_MODBERSIONS==1
define MODBERSIONS
#include" linux.modversions.h"
#endif
#difine devicename mydevice
/* the init funcion*/
int init_module()
{
int tag=module_register_chrdev(0,mydevice,&Fops);
if (tag<0)
{
printk("the device init is erro!\n");
return 1;
}
return 0;
}
/*the funcion which the device will be used */
int device_open ()
{
…….
}
int device_read ()
{
…….
}
int device_write ()
{
…….
}
int device_ioctl ()
{
…….
}
……
/* the deltter function of this module*/
int cleanup_module()
{
int re=module_unregister_chrde


Ïà¹ØÎĵµ£º

mysqlÔÚºìÆìlinuxÏÂÈ«³Ì°²×°ÅäÖÃÏé½â

1¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
MySQL-server-5.0.46.i386.rpm¡¡¡¡¡¡
MySQL-client-5.0.46.i386.rpm

2¡¢°²×°MySQL
rpmÎļþÊÇRed Hat¹«Ë¾¿ª·¢µÄÈí¼þ°²×°°ü£¬rpm¿ÉÈÃLinuxÔÚ°²×°Èí¼þ°üʱÃâ³ýÐí¶à¸´ÔÓµÄÊÖÐø¡£¸ÃÃüÁîÔÚ°²×°Ê±³£ÓõIJÎÊýÊÇ
ivh
,ÆäÖÐi±íʾ½«°²×°Ö¸¶¨µÄrmpÈí¼þ°ü£¬V±í ......

linuxÏÂmysqlµÄʹÓÃ


Æô¶¯mysql:  /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼:  mysql -u root -p
ÏÔʾÊý¾Ý¿â:  show databases;
Ñ¡ÔñÊý¾Ý¿â:  use Êý¾Ý¿âÃû;
ÏÔʾ±í:  show tables;
ÏÔʾ±í½á¹¹:  descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......

ÓÃLinuxÏÂPerl½Å±¾Á¬½ÓSQLServer

×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......

Linuxϵ÷ÓÃpthread¿âʵÏÖ¼òµ¥Ï̳߳Ø

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <assert.h>
void * routine(void * arg);
int pool_add_job(void *(*process)(void * arg),void *arg);
int pool_init(unsigned int thread_num);
int po ......

3gÍø¿¨ linux¼ÓËÙ

ÏÖÔÚ´ó¶àÊý¸ßËÙÎÞÏßÉÏÍø¿¨¶¼ÄÚÖô洢¿Õ¼ä£¬ÓÃÓÚ´æ´¢Çý¶¯³ÌÐòºÍ²¦ºÅÈí¼þµÈ¡£µ±Ê״ν«ÕâÖÖÉ豸²åÈëUSB½Ó¿Úʱ£¬¸ÃÉ豸±»Ê¶±ðΪCD£­ROM£¬Çý¶¯³ÌÐòºÍ²¦
ºÅÈí¼þ¾ÍÔÚÆäÖС£µ±°²×°ÍêÍø¿¨µÄÇý¶¯³ÌÐòºó£¬Ôٴν«Æä²åÈëʱ£¬Ôò±»Ê¶±ðΪModemµÈÉ豸£¬ÎÒµÄÕâ¸öÍø¿¨»¹¿ÉÒÔ²åMicro-SD¿¨£¬Í¬Ê±×÷UÅÌÓá£ÒÔÉÏ
ÕâЩºÃÏñ³ÆÎªZeroCD¼¼Êõ¡£
ÔÚÉÏ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ