LINUXÄÚºËÖÐminºÍmaxºêµÄѧϰ
add linux kernel min, max define:
include/linux/kernel.h
/*
* min()/max() macros that also do
* strict type-checking.. See the
* "unnecessary" pointer comparison.
*/
#define min(x,y) \
(__extension__\
({ \
typeof(x) _x = (x); \
typeof(y) _y = (y); \
(void) (&_x == &_y); \
_x < _y ? _x : _y; }) \
)
#define max(x,y) \
(__extension__\
({ \
typeof(x) _x = (x); \
typeof(y) _y = (y); \
(void) (&_x == &_y); \
_x > _y ? _x : _y; }) \
)
ÈçÉÏÊÇinclude/linux/kernel.hÖйØÓÚminºÍmaxÁ½¸öºÜ³£ÓõĺêµÄ¶¨Ò壬ÔÚÆäÖÐÎÒÃÇ¿ÉÒÔ¿´µ½ÒÔϼ¸¸ö¹Ø¼üµã£º
1. ΪºÎ²»Óøü¼òµ¥µÄ(x>y)?x:y ÕâÑùµÄ·½Ê½À´¶¨Ò壬¶øÒªÖØÐ¸³ÖµÒ»´Î¡£
2. ΪºÎÒªÓÃ({ })ÕâÑùµÄ½á¹¹°üΧ´úÂë¿é
3. ÄǸö__extension__ÊÇʲô¶«¶«£¿ £¨Óеİ汾ûÓÐÕâ¸ö__extension__)
4. (void)(&_x == &_y)ÓÐʲôÓ㬲»ÊÇÍÑÁË¿ã×Ó·ÅÆ¨Ã´
½â´ð£º
1. Èç¹ûÓû§Ê¹ÓÃÁËmin(x++,y++)»áÓÐÔõÑùµÄ½á¹û£¿
ËùÒÔ×îºÃµÄ°ì·¨ÊDZÜÃâÔÚºêµÄʵÌåÀïÈòÎÊý³öÏÖÒ»´ÎÒÔÉÏ¡£ÀϵÄlinuxÓõÄÊÇ x>?y£¬Õâ¸ö>?²Ù×÷·ûÊÇ·µ»ØxºÍyÖнϴóµÄÒ»¸ö£¬²»¹ýGCCµÄÎĵµÀïÒѾ¾ö¶¨ÅׯúÕâÖÖÀϵÄÓ÷¨ÁË¡£
2. GCCµÄÀ©Õ¹ÀïÏñ{ }ÕâÖֽṹҲÊÇ¿ÉÒÔÓÐÖµµÄ£¬ÆäÖµ¾ÍÊÇÆäÖÐ×îºóÒ»¸öÓï¾äµÄÖµ£¨°üÀ¨×óÖµ£©£¬ÕâÀïÍâÃæÔÙ¼Ó¸öÀ¨ºÅÊÇΪÁ˱£ÏÕ£¬±ÈÈ磺
printf("²Â²Â»áÏÔʾʲô£¿\n´ð°¸ÊÇ:%d\n",({
&
Ïà¹ØÎĵµ£º
ÓÐʱÓöµ½ÈçÏÂÎÊÌâ£¬Íø¿¨ÉÏÓиö²æ£¬ÈκÎÃüÁî¶¼ÎÞ·¨ÐÞ¸´¡£
·¢ÏÖÍø¿¨ºì²æÖ®Ç°ÊÔ¹ýÏÂÃæÃüÁ¿Ï¶¨¶¼²»Ðеġ£
sudo ifconfig eth0 down
sudo ifconfig eth0 up
sudo /etc/init.d/dhcp3-server restart
sudo /etc/init.d/networking restart
ÎÊÌâ½â¾öºÜ¼òµ¥£¬°ÑÈçϵĸ´Ñ¡¿ò¹´Éϼ´¿É£¬ÐéÄâ»ú¿ª» ......
1. useradd Óû§Ãû
useraddÃüÁÔðÌí¼ÓÓû§µ½Linuxϵͳ£¨Ö»ÓйÜÀíÔ±¿ÉÒÔʹÓÃÕâ¸öÃüÁ¡£
Àý£º
useradd tom
2.userdel Óû§Ãû
userdelÃüÁîɾ³ýÒ»¸öÓû§ÕË»§£¨Ö»ÓйÜÀíÔ±¿ÉÒÔʹÓÃÕâ¸öÃüÁ¡£
Àý£º
userdel tom
3.passwd Óû§Ãû
µ±´´½¨Ò»¸öÓû§Ö®ºóÐèҪΪÓû§ÉèÖÃÃÜÂ룬passwd ¿ÉÒÔÍê³É´Ë¹¦ÄÜ¡£µ±passwdºóÃæÃ»ÓвΠ......
Ëæ×ÅLinuxµÄÓ¦ÓÃÈÕÒæ¹ã·º£¬ÌرðÊÇÔÚÍøÂçÓ¦Ó÷½Ã棬ÓдóÁ¿µÄÍøÂç·þÎñÆ÷ʹÓÃLinux²Ù×÷ϵͳ¡£ÓÉÓÚLinuxµÄ×ÀÃæÓ¦ÓúÍWindowsÏà±È»¹ÓÐÒ»¶¨µÄ²î¾à£¬ËùÒÔÔÚÆóÒµÓ¦ÓÃÖÐÍùÍùÊÇLinuxºÍWindows²Ù×÷ϵͳ¹²´æÐγÉÒì¹¹ÍøÂç¡£ÔÚ·þÎñÆ÷¶Ë´ó¶àʹÓÃLinuxºÍUnixµÄ£¬Ä¿Ç°LinuxµÄÉó¤Ó¦ÓÃÁìÓòÊǵ¥Ò»Ó¦ÓõĻù´¡·þÎñÆ÷Ó¦Óã¬Æ©ÈçDNSºÍDHCP·þÎñÆ÷¡¢W ......
//»ñÈ¡×ÓÍøÑÚÂëµÄº¯ÊýQString GetLocalNetMask()
{
int sock_netmask;
char netmask_addr[50];
struct ifreq ifr_mask;
struct sockaddr_in *net_mask;
sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("create socket failture...GetLocalNetMask\n");
......
ǰһƪ²©¿Í»¹Ð´ÁË×Ô¼ºÐ´µÄ¶Ë¿Úת·¢¹¤¾ß£¬½ñÌìżȻÔÚÍøÉÏ¿´µ½½²ÃüÃû¹ÜµÀºÍnetcatÅäºÏµÄÓ÷¨£¬±»³¹µ×À×µ¹ÁË¡£
ÔÀ´ÒÔΪnetcat×ö²»µ½£¬ÔÀ´ÊÇ×Ô¼ºÏë²»µ½£¬¶ø²»ÊÇnetcat×ö²»µ½……
·½·¨ÈçÏ£º
$ mknod backpipe p
&n ......