C++ Ö®Boostѧϰ±Ê¼Ç Linuxϱà³Ì
C++ѧϰ±Ê¼Ç--Linuxϱà³Ì
Ò»¡¢¹ØÓÚBoostµÄʹÓ㬼¸ÖÖ³£Ó÷½·¨£¬Ö»ÊÇ×Ô¼º¹¤×÷¡¢Ñ§Ï°ÖÐ×ܽáµÄ£¬ÓÐЩ·½·¨µÄÈ·ÓÐЩ·±Ëö£¬ÄÜÂú×ãÐèÇó£¬Ó¦¸Ã»¹Óиü¼Ó¼òµ¥¿ì½ÝµÄ·½Ê½£¬´ý¸Ä½ø¡£
1¡¢ÅжÏ×Ö·û´®ÓëÕýÔò±í´ïʽÊÇ·ñÆ¥Å䣨ÍêȫƥÅ䣩
bool IsMatch(const char* data,const char * regx)
{
boost::regex expression(regx);
string str(data);
if(boost::regex_match(str, expression))
{
return true;
}
return false;
}
2.1¡¢°´Ä³Ò»×Ö·û´®½øÐзָî²Ù×÷£¬²¢´æ´¢µ½vectorÖС£
void split1(const char* data,boost::regex expression,vector<string> &dataVector)
{
string str1(data);//½«char *ת»¯ÎªstringÀàÐÍ
boost::sregex_token_iterator p(str1.begin( ), str1.end( ), expression, -1);
boost::sregex_token_iterator end;
const char *start=NULL,*endp;
while (p != end)
{
string str = *p;
printf("string:[%s]\n",str.c_str());
if ( str.compare("") != NULL )
{
dataVector.push_back(str);
}
p++;
}
}
2.2¡¢°´Ä³Ò»×Ö·û´®½øÐзָî²Ù×÷£¬²¢´æ´¢µ½vectorÖУ¬²¢±£Áô·Ö¸î·ûÖеļ¸Î»¡£
void split2(const char* data,boost::regex expression,vector<string> &dataVector,int length)
{
if ( length < 0 )
{
return ;
}
string str1(data);//½«char *ת»¯ÎªstringÀàÐÍ
boost::sregex_token_iterator p(str1.begin( ), str1.end( ), expression, -1);
boos
Ïà¹ØÎĵµ£º
Ò»¡¢Linux
²é¿´cpuÐÅÏ¢£º
[junjie2@ljj ~]$ cat /proc/cpuinfo
¶þ¡¢Freebsd
dmesg ×î¼òµ¥µÄ·½·¨
freebsd# cat /var/run/dmesg.boot |grep CPU ¿ÉÒԲ鿴 cpuÐÅÏ¢
sysctl hw.model ¿´cpuid
sysctl machdep.tsc_freq ¿´cpuƵÂÊ
# sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
# dmesg | grep -i cpu ......
×òÌ콫LinuxϵͳӲÅÌÈûÂúÁË£¬½ñÌì¾Í½ø²½ÁËϵͳÁË£¬ÄÇÐоÍÖ±½Ó¸øÐéÄâ»úÔÙÔö¼ÓÁË¿éÓ²ÅÌ£¬ÉèÏëwindows¾ÍÊÇÕâÑùÀ´ÁË£¬ËÖªµÀ»¹ÊÇÒ»Ñù¾Í²»È¥¡£ÎÊÁËÏÂͬʲÅÖªµÀ£¬ÐèÒª°ÑÓ²Å̹ÒÉÏÈ¥²ÅÉúЧ¡£
ÄDz»²ÒÁË£¬ÎÒϵͳ¶¼½ø²»È¥Ôõô¹ÒÓ²ÅÌÄØ£¬ÖӸ磨ͬÊ£©¸æËßÎÒLinuxÓõ¥Óû§½øÈ¥É¾³ýµã¶«Î÷¾ÍÄܽøÈ¥ÁË¡£
ÐУ¬ÄǾÍÂíÉÏÊÔߣ¬»¹Ã»³¢ÊÔ¹ýÄØ¡ ......
¼ÙÉèÓÐchar a[2];
ÈçÒª°Ñaת»»ÎªintÖµ¡£Ó¦ÊÇÈçÏÂд·¨int b=*(int *)a;
¼´£¬ÏȰÑÖ¸Õëa ת»»ÎªÒ»¸öintÖ¸Õ룬ȻºóÔÙ´Ë»ù´¡ÉÏȡֵ¡£
µ«ÊÇÁíÒ»ÖÖд·¨ int b=(int)(*a);ÊDz»¶ÔµÄ£¬*a È¡aµÄÄÚ´æµ¥ÔªÄÚÈÝ£¬ÒòΪÏÖÔÚaÊÇcharÖ¸Õ룬ËùÒÔÖ»»áÈ¡a[1]ÖÐÄÚÈÝ£¬×î´óΪ255. ÕâÀïҪ˵Ã÷µÄÊÇ£¬ÔÚ°Ñchar»òbyteÊý×éת»»ÎªÆäËûÀàÐ͵Äֵʱ£¬ÒªÏÈ ......