大多数开发人员使用vim/emacs+gcc+gdb开发,如何判断linux是文件还是目录?如果是脚本可以通过ls-l命令来判断,stat.h中有判断是什么文件的宏:
学好在linux下编程难吗?
不难,Linux的API才300多,windows号称上千,你能学好windows下的编程,Linux就没问题。
关键是个思维的转换,Linux下没有(或者说没有好用的)像VC一样的IDE,大多数开发人员使用vim/emacs+gcc+gdb开发,都是命令行的,从windows转过来,这是个坎儿。
华硕k43by详细参数?
处理器:amdfusionapue-350(双核)/c-50(双核)1.6,GHz~1.0GHz。芯片组:amda50m。大小:ddr3-1333mHz的sdram,2X因此-dlmm内存插槽,最高可扩充至8Gsdram。
显示屏14.0的:16:9高清(1366X768)的LED背光。图像6470m512mB/1GBDDR3vRAM。存储2.5的sata750GB5400rpm/7200rPm,500GB。相机0.3百万像素。综合802.11B/G/V2.1+edr。
如何判断linux是文件还是目录?
如果是脚本可以通过ls-l命令来判断,因为目录第一个字母是d。如果是编程可以参考以下内容。manstat;stat.h中有判断是什么文件的宏:S_ISREG()普通文件S_ISDIR()目录文件S_ISCHR()字符特殊文件S_ISBLK()块特殊文件S_ISFIFO()管道或FIFOS_ISLNK()符号连接(POSIX.1或SVR4无此类型)S_ISSOCK()套接字(POSIX.1或SVR4无此类型)具体可以参照APUE文件目录相关章节。下面给出一个具体的例子:#include<stdio.h>#include<sys/stat.h>intmain(intargc,char*argv[]){structstatbuf;if(argc<2){ printf("NeedParameter"); return-1;}if(lstat(argv[1],&buf)<0){ printf("lstaterrorfor%s\r\n",argv[1]); return;} if(S_ISDIR(buf.st_mode)) printf("%sIsDIR\r\n",argv[1]); elseif(S_ISREG(buf.st_mode)) printf("%sIsFILE\r\n",argv[1]); return0;}
httphost怎么代码实现?
只谈 Linux 下。直接用现成的,Apache / Nginx,python -m SimpleHTTPServer用库写基本的,Python 的 HTTPServer / CGIHTTPServer 等用 C 从底层手写:POSIX API, Sockets,RFC 2616 。基本的单线程迭代阻塞处理;然后是高级点的优化I/O multiplexing (select / poll, epoll)进程、线程分派模型:one-request-per-child / one-request-per-thread非阻塞 I/O,edge trigger高级功能性能优化:Memory cachingI/O 优化 如 文件系统选择、Linux AIO 等。
单这块往下看文件系统、I/O 调度和其它 OS 内核细节,就可以挖非常深TCP/IP 优化CGI / FastCGI / WSGI / AJK 等后端协议支持HTTPS 协议支持模块化,扩展模块支持,这块更偏向于架构设计。