linux epollÓÃÓÚsocket¿ØÖÆ ´úÂëʵÀý
¹ØÓÚepollʹÓ÷½·¨£º
²ÎÕÕ£º http://linux.die.net/man/4/epoll
ʵÀý´úÂ룺£¨À´×ÔÍøÉÏijÂÛ̳£©
#include <pthread.h>
#include <stdio.h>
#include <sys/timeb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <string.h>
#include <fcntl.h>
#include <signal.h>
#include <errno.h>
#define MAX_CLIENT 101
#define PORT 3355
#define DEBUG
int listenfd;
//ÉèÖÃsocketÁ¬½ÓΪ·Ç×èÈûģʽ
void nonblock(int sockfd)
{
int opts;
opts = fcntl(sockfd, F_GETFL);
if(opts < 0)
{
perror("fcntl(F_GETFL)\n");
exit(1);
}
opts = (opts | O_NONBLOCK);
if(fcntl(sockfd, F_SETFL, opts) < 0)
{
perror("fcntl(F_SETFL)\n");
exit(1);
}
}
int main()
{
int epfd;
struct epoll_event *events;
struct epoll_event ev;
struct sockaddr_in srv;
int clifd;
int i;
int n;
int res;
char buffer[1024];
//´´½¨·þÎñÆ÷¶Ësocket
if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
perror("sockfd\n");
exit(1);
}
bzero(&srv, sizeof(srv));
srv.sin_family = AF_INET;
srv.sin_addr.s_addr = htonl(INADDR_ANY);;
srv.sin_port = htons(PORT);
//·
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
sudo apt-get build-dep firefox
Èô³öÏÖÏÂÃæµÄ´íÎó£º
²»ÄÜÂú×ãÈí¼þ°ü firefox ËùÒªÇóµÄ¹¹½¨ÒÀÀµ¹ØÏµ
Ç뽫 /etc/apt/sources.list ¸ÄΪĬÈϵÄÔ´ ÓоÍÊÇ ×°Íêϵͳºó×Ô´øµÄ£º
#deb cdrom:[Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090421.3)]/ jaunty main restricted
# See http://help.ubuntu ......
1¡¢ÏµÍ³Ê±ÖÓ(System Clock)ÓëʵʱʱÖÓ(Real Time Clock)
ʵʱʱÖÓÖ¸µÄÊÇÓ²¼þʱÖÓ£¬¶øÏµÍ³Ê±ÖÓÖ¸µÄÊÇÈí¼þʱÖÓ£¬´æÔÚÓÚLinuxϵͳ֮ÖС£µ±ÏµÍ³Æô¶¯Ê±£¬Linux»á´ÓÓ²¼þ¶Áȡʱ¼ä×öΪϵͳʱ¼ä£¬Ö®ºó±ãÒ»Ö±²ÉÓÃϵͳʱ¼ä¡£LinuxÃüÁîdate¿ÉÒÔÓÃÀ´ÉèÖÃϵͳʱÖÓ£¬¶øhwclock»òÕßclockÔòÓÃÀ´ÉèÖÃʵʱʱÖÓ£¬¼´Ó²¼þʱÖÓ¡£
2¡¢Ê±ÖÓÆµÂÊ
µ¥ ......
#include <stdio.h>
#include <unistd.h>
int main() {
char link[100], path[100];
sprintf(link, "/proc/%d/exe", getpid());
readlink(link, path, sizeof(path));
printf("%s\n.", path);
return 0;
} ......
°²×°Sqlite
Ê×ÏÈÊÇÏÂÔØsqlite-3.3.8.tar.gz¡£
1¡¢½âѹsqlite-3.3.8.tar.gz£ºtar –xzvf sqlite-3.3.8.tar.gz,µÃµ½sqlite-3.3.8µÄÎļþ¡£
2¡¢ÔÚsqlite-3.3.8ͬһĿ¼Ï´´½¨sqliteÎļþ£ºmkdir sqlite
3¡¢Cd sqlite
4¡¢Ö´ÐÐconfigureÉú³É°²×°³ÌÐò
5¡¢ ../sqlite-3.3.8/configure --prefix=/home/work/zd ......