Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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;


Ïà¹ØÎĵµ£º

JavaÓëC++

1¡¢Java²ÉÓÃUnicode×Ö·û¼¯£¬Ôö¼ÓÁ˶ԷÇÀ­¶¡ÓïϵµÄÖ§³Ö£¬Ò»¸öºº×Ö¿ÉÒÔÖ±½Ó×÷Ϊһ¸ö×Ö·û³£Á¿½øÐи³Öµ¶øÔÚC++ÖбØÐë×öΪ×Ö·û´®´¦Àí
  char chTemp = 'ÎÒ';
  System.out.println(chTemp);
Java×Ö·ûÊÇÒ»¸ö16ΪµÄÎÞ·ûºÅÕûÊý£¬C++ÖÐΪ8λ
2. Java±êʶ·û¿ÉÒÔÒÔÃÀÔª·û$¿ªÍ·£¬¿Éº¬ÓÐËùÓÐÊ®Áù½øÖÆÖµ´óÓÚ0xc0µ ......

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

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

·¢Õ¹Linux£¬ÖÐÈÕÁ½¹úÖ®±È½Ï

      ÈçºÎ·¢Õ¹Linux£¿ÖÐÈÕÁ½¹úÖ®¼ä´æÔÚºÎÖÖ²îÒ죿ÓÐʲôºÃ˵µÄ£¿
     ´óÔ¼ÊÇÔÚ1997ÄêµÄÏÄÌ죬¹úÄÚÕÙ¿ªµÚÒ»´ÎLinux¸ß²ãÑûÇëÑÐÌֻᣬÎÒÏ룬ÏÖ½ñÄÇ´ÎÑûÇë»áµÄÈ«ÌåÓë»áÕß¶¼»¹½¡ÔÚ£¬ÐÕÃûÎҾͲ»ËµÁË¡£¼ÇµÃ£¬ÎÒÈ¥»ú³¡Ó­½ÓCliff Miller·ò¸¾£¬ÄÇʱ£¬CliffÊÇÈÕ±¾TurboLinuxµÄCEO£¬×¨ ......

ÔÚmenuconfigÖÐÅäÖÃLinuxÄں˲üôµÄ¾ßÌå²½Öè(2)

µÚ¾Å²¿·Ö£º³ýÒÔÏÂÑ¡ÏÆäËüÈ«²¿É¾³ý
¡¡¡¡Networking
¡¡¡¡Networking options --->
¡¡¡¡[]Unix domain sockets
¡¡¡¡[]TCP/IP networking
µÚÊ®²¿·Ö£º³ýÒÔÏÂÑ¡ÏÆäËüÈ«²¿É¾³ý
¡¡¡¡Device Drivers --->É豸Çý¶¯
¡¡¡¡Block devices-------¡µ
¡¡¡¡[]Compaq SMART2 support
¡¡¡¡[] Compaq Smart Array 5xxx supp ......

ÔÚmenuconfigÖÐÅäÖÃLinuxÄں˲üôµÄ¾ßÌå²½Öè(3)

µÚÊ®¶þ²¿·Ö: È«²¿É¾³ý
¡¡¡¡Instrumentation support
µÚÊ®Èý²¿·Ö£ºÈ«²¿É¾³ý
¡¡¡¡Kernel hacking --->ÆÆ½âºËÐÄ£¿¿É²»Êǵ±º¡¿ÍÀ²£¬²»Ñ¡
µÚÊ®ËIJ¿·Ö£ºÈ«²¿É¾³ý
¡¡¡¡Security options --->
µÚÊ®Î岿·Ö£ºÈ«²¿É¾³ý
¡¡¡¡Cryptographic options --->ÕâÊǺËÐÄÖ§³Ö¼ÓÃܵÄÑ¡Ïî
µÚÊ®Áù²¿·Ö£ºÈ«²¿É¾³ý
¡¡¡¡Library rout ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ