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

printf»­µÄ¶íÂÞ˹·½¿é(linuxÒì²½I/O,C++)

Õâ¸ö·½¿éÓÎÏ·ÊÇÓÃlinuxÖն˵Ĺâ±ê¿ØÖÆ¡¢ÑÕÉ«ÉèÖÃ×öµÄ
(ÌíÁ˸ö¹¦ÄÜ£¬×ÖĸPÔÝÍ£¡¢»Ö¸´ÓÎÏ·)
Óà A S D W ¿ØÖÆÒƶ¯¡¢×ªÏò£¬¿Õ¸ñ¼üÏÂ×¹µ½µ×£»
linuxµÄÒì²½aioº¯Êý½â¾öÁ˺ܶàÂé·³£»
ÓÃÁ˸ö¼òµ¥µÄÄ£°åµ¥Àýģʽ£¬¼Ì³ÐËü¾Í¿ÉÒÔ£»
¶ÔPOSIXÏ̼߳òµ¥·â×°³ÉjavaÏ߳̽ӿڣ»
#include <memory>
#include "Tetris.h"
#include "TtyAuto.h"
static void instruction()
{
// һЩ˵Ã÷ÐÔÎÄ×Ö
printf("\033[2J");
printf("\033[4;34;47m%s\033[0m", "\t\t\tYou can use the key 'A','S','D','W' to control the block.\n\n\t\t\tPress space key make the block down to bottom.\n\n\t\t\t'P' to pause the game.\n\n");
printf("\033[5;34;41m%s\033[0m", "\t\t\tPRESS ANY KEY TO START GAME...\n\n" );
getchar();
}
int main(int ac, char *av[])
{
std::auto_ptr<TtyAuto> autoAdjustTty(TtyAuto::getInstance());
instruction();
// ÓÎÏ·¿ªÊ¼
Tetris game;
game.start();
game.join();
printf("\r\t\t\t\t\t\r");
return 0;
}

#ifndef BERT_THREAD_H
#define BERT_THREAD_H
#include <pthread.h>
/**
* Ï̷߳â×°£¬½Ó¿ÚÄ£·ÂJAVA
*/
class Runnable
{
public:
virtual ~Runnable() { }
/**
* Ïß³ÌÂß¼­ÔÚ´ËʵÏÖ
*/
virtual void run() = 0;
};
class Thread: public Runnable
{
/**
* ±¾Ïß³ÌID
*/
pthread_t m_tid;
/**
* ÊÇ·ñÔÚÔËÐеıêÖ¾
*/
bool running;
/**
* Ï̺߳¯Êý£¬ÄÚ²¿µ÷ÓÃrun
*/
static void * threadFunc(void * arg);
public:
Thread();
~Thread();
/**
* ˯Ãß Ãë
*/
static unsigned int sleep( unsigned int seconds);
/**
* ˯ÃߺÁÃë
*/
static unsigned int msleep( unsigned int mSeconds);
/**
* Æô¶¯Ïß³Ì
*/
bool start() ;
/**
* µÈ´ý±¾Ïß³ÌÔËÐÐÍê
*/
void join() const;
/**
* ÊÇ·ñÔÚÔËÐÐ
*/
bool isAlive() const
{
return running;


Ïà¹ØÎĵµ£º

linux Ŀ¼ÓÃ;


/bin ´æ·Å×î³£ÓõÄÃüÁ´ËĿ¼ÏµÄÃüÁîËùÓÐÓû§¶¼ÓÐÖ´ÐеÄȨÏÞ

/boot LinuxϵͳÒýµ¼Ä¿Â¼£¬´ËĿ¼±£´æÏµÍ³Æô¶¯Ê±µÄÄÚºËÎļþºÍÄÚºËÓ³ÏñÎļþ¼°Æô¶¯Ê±ËùÐèµÄÆäËüÎļþ

/dev É豸Îļþ£¬±£´æËùÓеÄÓ²¼þÉ豸Îļþ£¬ÈçÓ²ÅÌÉ豸Îļþ£¬ÈíÇý¡¢¹âÇýÉ豸ÎļþµÈµÈ

/etc ......

ÔÚlinuxϲéѯ·ÓÉ

ÔÚlinux²éѯ·Óɵķ½·¨ÓкܶàÖÖ¡£ÏÂÃæ½éÉÜÒ»ÖÖ´Óiproute¿ªÔ´Èí¼þÖÐÌáÈ¡³öÀ´µÄÒ»ÖÖ·½·¨¡£ÔÚubuntu904ϱàÒ룬ÔËÐÐͨ¹ý¡£
±àÒë: gcc -o reqroute iproute_linux.c
ʹÓÃ: ./reqroute 1.2.3.4
½á¹û:source:1.3.4.5
       Gateway:192.168.1.3
       Dev:et ......

C/C++»ù±¾Êý¾ÝÀàÐÍ

ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
         ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
Ê ......

´ÅÅÌIOÐÔÄÜ¼à¿Ø£¨Linux ºÍ Windows£©

´ÅÅ̵ÄIOÐÔÄÜÊǺâÁ¿¼ÆËã»ú×ÜÌåÐÔÄܵÄÒ»¸öÖØÒªÖ¸±ê¡£LinuxÌṩÁËiostatÃüÁîÀ´»ñÈ´´ÅÅÌÊäÈ룯Êä³ö£¨¼´IO£©Í³¼ÆÐÅÏ¢£¬WindowsÔòÌṩÁËWMI½Ó¿Ú£¬¿ÉÒÔͨ¹ý±àдһ¸ö¼òµ¥µÄ½Å±¾À´»ñÈ¡ÓëiostatÏ൱µÄ¹¦ÄÜ¡£
1¡¢LinuxϵÄiostatÃüÁî
iostat -d -k -t 2
ÿ¸ô2Ãëͳ¼ÆÒ»´Î´ÅÅÌIOÐÅÏ¢£¬Ö±µ½°´Ctrl+CÖÕÖ¹³ÌÐò£¬-d Ñ¡Ïî±íʾͳ¼Æ´ÅÅÌÐÅÏ¢ ......

¸úÎÒÒ»²½Ò»²½ÖÆ×÷Ò»¸ö»ù±¾µÄlinuxÆô¶¯ÅÌ

       Ô­´´ÎÄÕ£¬×ªÔØÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡       
       ×÷ÕߣºÇåÁÖ£¬²©¿ÍÃû£º·É¿Õ¾²¶É
ÕâÊÇһƪ×Ô¼ººÜÔçдµÄÎÄÕÂÁË£¬µ±Ê±¸ù¾ÝÍøÉϵÄһЩ½Ì³ÌÒ»²½Ò»²½ÖÆ×÷£¬±¾À´Ïë°Ñ×Ô¼º×öµÄ¹ý³Ì·Åµ½ÍøÉÏ£¬¿ÉÒÔÎ÷һֵæÓÚ¹«Ë¾ÏîÄ¿£¬Ã»ÓÐʱ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ