坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Yearly Archives: 2006

NFS使用记录

第一步:#serviceconf 第二步:启动portmap和nfs(每次修改exports都要重启nfs才会生效) 第三步:#vi /etc/exports 第四步:/root 202.199.159.193(rw) option: ro 只读 rw 读写 noaccess 无权 第五步:在202.199.159.193这个IP的机器上,#mount 10.10.138.192:/root cc0cc/(如果不行可以试试把10.10.138.192的iptables关掉) 提示:由于它的认证机制是基于IP地址的,因而容易被ip-spoofing攻击.一般除非必要不要打开这项服务.

Continue reading

1 Comment

intel汇编与AT&T的区别

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.26 转载请注明原文链接:http://www.54chen.com/c/30] 在设计mynet的时候用到这个,其实二者区别不是太多,总结一下有下面几点: 1.intel的mov 变成了movb movl mov (后面对应8 16 32位的操作位) ) 2.寄存器都加百分号 3.操作都是反过来的:mov al,cl(inter)==movb %cl,%al 而在gcc里的内联汇编也有不同,用起来也是挺好用的,看例~ main(){ char tmp; __asm__( "movb %1, %%cl;" "movb %%cl, %%dl;" "shl $7,%%edx;" "movb %%cl,%%al;" "and $2,%%eax;" "shr $1,%%al;" "or %%eax,%%edx;" "movb %%cl,%%al;" …

Continue reading

Leave a comment

linux C获取机器MAC及IP的两个函数

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.25 转载请注明原文链接:http://www.54chen.com/c/28] 以下两函数分别将mac ip通过memcpy至mac_addr和ip_addr char * get_mac() { int nSocket; struct ifreq struReq; nSocket = socket(PF_INET,SOCK_STREAM,0); memset(&struReq,0,sizeof(struReq)); strncpy(struReq.ifr_name, "eth0", sizeof(struReq.ifr_name)); ioctl(nSocket,SIOCGIFHWADDR,&struReq); close(nSocket); memcpy(mac_addr,(char *)ether_ntoa(struReq.ifr_hwaddr.sa_data),strlen((char *)ether_ntoa(struReq.ifr_hwaddr.sa_data))); return 0; } char * get_ip() { int sock; struct sockaddr_in sin; struct …

Continue reading

Leave a comment

APACHE常用设置

KeepAliveTimeout 5 是允许用户保持连接5秒内有效,如果用户在5秒内点击其他页面不需要重新建立联结,这个值设置短不利于降低效率,如果设置长可能导致的同时联结数会跟高,一般建议按照缺省的15 MaxKeepAliveRequests 这个缺省是100 你这个设置太高了,这个使用户连续访问了多少个页面后重新建立联结,你这个值3000,好像太高了点 MinSpareServers 5 MaxSpareServers 10 StartServers 5 如果服务器经常有突发大量请求的话,建议值都稍微太高点 MaxClients 150 这个是服务器最大联结数,如果超过150联结的话系统就有等待情况,如果繁忙的话150是不够的,你可以用命令 ps -ef|grep httpd|wc -l 看看有多少联结,一直接近150的话,建议增大一些 MaxRequestsPerChild 0 这个建立设置10000,apache避免程序有异常,定义一个子进程完成多少个请求以后退出,如果是0就是永远不退出。如果对自己程序比较难把我的话建议设置一个稍大的值而不是0

Continue reading

Leave a comment

linux下系统托盘的实现

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.13 转载请注明原文链接:http://www.54chen.com/c/24] 在gnome中国的网页上找到这个内容,他们把它叫做“通知功能图标”。它是一个在未来版本中决定发布的已实现包。 http://www.gnome-cn.org/documents/tutorial/system-tray-icon-application/implement-your-tray 具体实现前需要在下载两个开发补丁源文件,然后包含头文件到你的文件中。 具体代码: void create_tray (tray_demo * tray) { GtkWidget *image; GtkWidget *event_box; GtkTooltips *tooltips; EggTrayIcon *tray_icon; tooltips = gtk_tooltips_new (); tray_icon = egg_tray_icon_new ("Tray icon demo"); event_box = gtk_event_box_new (); gtk_container_add (GTK_CONTAINER (tray_icon), event_box); …

Continue reading

Leave a comment

MySQL中各种字段的取值范围

TINYINT -128 - 127   TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT UNSIGNED 0 - 16777215 INT 或 INTEGER -2147483648 - 2147483647 INT UNSIGNED 或 INTEGER UNSIGNED 0 …

Continue reading

Leave a comment