摘要:
select()系统调用提供一个机制来实现同步多元I/O:#include <sys/time.h>#include <sys/types.h>#include <unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);FD_CLR(int fd, fd_set *set);FD_ISSET(int fd, fd_set *set);FD_SET(int fd, fd_set *set);FD_ZERO(fd_ 阅读全文
摘要:
我是把hadoop 0.20.2安装到/opt/hadoop目录下,故 HADOOP_HOME=/opt/hadoop而我系统安装的是openjdk-1.6.0,主目录 JAVA_HOME= /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64一、编译$cd /opt/hadoop$ant compile-c++-libhdfs -Dislibhdfs=true二、安装、配置就是解决gcc寻找头文件、连接动态链接库问题以及环境变量。其中gcc寻找头文件以及动态链接库可以通过设置环境变量,也可以通过Makefile来完成。而libhdfs需要用到的JAVA 阅读全文
摘要:
一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为 32位)如果存放 阅读全文
摘要:
1。自动连接handler name相同的信号和函数。Thesome_signal_handler_funcfunction is not referenced anywhere in the program explicitely, but if any signals are defined in the interface description that use "some_signal_handler_func" as the handler name, then this function will automatically be connected.2.如果 阅读全文
摘要:
1、更详细资料参见http://learn.akae.cn/media/apas03.htmlhttp://www.ibm.com/developerworks/cn/linux/i18n/unicode/linuni/UTF-8 and Unicode FAQ:http://www.linuxforum.net/books/UTF-8-Unicode.html2、部分示例代码#include <stdio.h>#include <locale.h>#include <wchar.h>int main(void){ wchar_t wstr=L"你 阅读全文
摘要:
定义FILE *fp; //文件指针、句柄int fd; //文件描述符char pathname[1024]; //文件路径1、pathname --> fp,fdfp = fopen(pathname,"r");fd = open(pathname,O_RDONLY);2、fd --> fp,pathnamefp = fdopen(fd,"r");下面这个函数能够实现由fd转成pathname,int get_pathname_from_fd(int fd, char pathname[], int n){ char buf[1024]; 阅读全文
摘要:
1、linux c代码实现#include <netdb.h>#include <stdio.h> #include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <netinet/in.h>#include <sys/socket.h>typedef enum {false,true}bool;int main() { bool flag; int sock; char **pptr = 阅读全文
摘要:
1、安装库libesmtp-develyum install libesmtp-devel或apt-get install libesmtp-devel如果没法用命令安装,就上http://www.stafford.uklinux.net/libesmtp/自己下载包安装。2、不认证即可发信息#define _XOPEN_SOURCE#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <unistd.h>#include <getopt.h>#include 阅读全文
摘要:
一般Web服务器放在公网上以后,有些为了方便远程操作,所以打开了远程桌面连接。这样是很不安全的,黑客在扫描到服务器开启了3389端口以后很多都是利用这个端口发起攻击。为了降低风险而又想使用远程桌面连接,一个比较简单的方法就是修改远程桌面链接的3389端口。远程桌面终端服务默认端口为"3389",为防止他人进行恶意连接,就需要对默认端口进行更改。对此可打开注册表编辑器开始 --> 运行 --> regedit --> 确定依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Serv 阅读全文
摘要:
char str[80]; FILE *fp; //chang directory to our command bzero(str,sizeof(str)); /* 判断argv[0]中是否包含'/', * 如果包含,则说明使用的是绝对/相对路径来寻找command所在目录 *如果不包含,则说明command是被安装到/usr/bin等系统定义的目录中,需要查找命令所在目录 */ if(NULL == rindex(argv[0],'/')){ //命令在系统预定义目录中 sprintf(str,"which %s"... 阅读全文