摘要:1.修改/etc/profile文件如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc/profile (2)在profile文件末尾加入:JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH (3)重新登录 注解:a. 你要将
阅读全文
摘要:common/config.php 常量模块<?php//常量定义define ("SERVER_ADDR","http://127.0.0.1");define ("REGISTER_ADDR",SERVER_ADDR."/open/register");define ("LOGIN_ADDR",SERVER_ADDR."/open/login");define ("APPLY_ADDR",SERVER_ADDR."/open/apply
阅读全文
摘要:环境:ubuntu10.10百度来的例子大多是这样的<?php //test.php 编写了测试用例的PHP文件 require_once('TestCase.php'); class OpenTestCase extends PHPUnit_Framework_TestCase { public function testRegister() { //... } }?>可以通过这样来执行自动化测试$ phpunit test.php报错,提示找不到PHPUnit_Framework_TestCase...
阅读全文
摘要:什么是PHPUnit?PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋KentBeck的设计)Ubuntu上安装sudoapt-getinstallphpunit验证PHPUnit安装成功,命令行输入phpunit$ phpunit安装成功打印:PHPUnit 3.6.11 by Sebastian Bergmann.Usage: phpunit [switches] UnitTest [UnitTest.php] phpunit [switches] <directory>如果出现如
阅读全文
摘要:当多个进程打开同一个文件写入日志的时候,OPEN时指定了O_APPEND参数,UNIX能保证这个操作是原子的,程序不需要自己加锁/*log1.c*/#include<stdio.h>#include<string.h>#include<fcntl.h>#include<unistd.h>int Max = 300;int main(){ int i; int fd; fd = open("1.log",O_WRONLY | O_APPEND); for(i=0;i<Max;i++) { char msg[100]; sp
阅读全文
摘要:原文:http://www.eefocus.com/xuefu2009/blog/10-03/187348_f456a.html包含文件:#ifndef__TIME_T#define__TIME_T /*避免重复定义time_t*/typedef long time_t; /*时间值time_t 为长整型的别名*/#endif既然time_t实际上是长整型,到未来的某一天,从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数(即日历时间)超出了长整形所能表示的数的范围怎么办?对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒。为了能够表示更
阅读全文
摘要:http://www.apuebook.com/可以下载源码src.tar.gz修改配置文件编辑源码解压生成的apue.2e文件夹下的Make.defines.linux修改WKDIR=/home/var/apue.2e为你的apue.2e目录,比如我的apue源码解压在/usr/local,那我就改为:WKDIR=/usr/local/apue.2e然后进入apue.2e/std 目录,编辑linux.mk。修改里面所有的nawk为awk。最后返回apue.2e目录,执行make命令。解决编译错误getenv1.c:4: error: ‘ARG_MAX’ undeclared here (n
阅读全文
摘要:开发环境 ubuntu 11.10 + gnome classic我们在GUI环境下使用的终端命令行窗口其实是gnome-terminal,可以通过输入该命令启动命令行窗口。它有一些用法$ gnome-terminal$ gnome-terminal --window #打开新窗口$ gnome-terminal --tab -- tab #打开一个命令行窗口,该窗口有两个选项卡$ gnome-terminal --tab --profile=Default #加载默认的配置文件,Defalt是默认配置文件关于配置文件gnome允许通过窗口菜单新建配置文件(文件/新建配置文件)和管理(编辑/配
阅读全文
摘要:主目录(/home/shujunli)下有一个文件夹叫"Aptana Studio 3"1)cd 命令可以用\转义空格$ cd /home/shujunli/Aptana\ Studio\ 32)假设该目录下有一个可执行文件就可以通过输入下面的命令执行:/home/shujunli/Aptana\ Studio\ 3/AptanaStudio33)可以拖拽该可执行文件的图标到任务栏,然后右击图标选择属性 [类型]具有GUI的程序可以输入选择"应用程序" 命令输入上面的命令,就可以从任务栏快速启动应用程序了
阅读全文
摘要:$ sudo apt-get install tuxtype启动(菜单):方式1: 应用程序/教育/Tux Typing方式2: shell窗口输入命令 tuxtype
阅读全文
摘要:int pipe1[2];int r = pipe(pipe1);assert(r==0);//创建管道成功write(pipe1[1],&buffer,strlen(buffer));read(pipe1[0],&buffer,BUF_SIZ);close(pipe1[1]);管道操作与关闭检测默认情况下对于管道的读写操作是阻塞的,如果管道里没有数据可读,则read调用会被阻塞住直到有数据写入,而另一端日如果关闭了fd[1],则read才可以返回,返回值为0表示写入端已经被关闭,返回-1则表示当前的fd本身被关闭void readpipe(){ int r; for(;;)
阅读全文
摘要:什么是IO重定向?C语言里调用fprintf的时候可以向指定的fp(FILE *fp)写入数据,但是调用printf函数时确不需要指定任何FILE*,为什么?启动一个C程序时,调用环境自动建立3个FILE*(stdin,stdout,stderr),并关联相应的设备,而我们的scanf使用的就是stdin,printf使用的是stdout,但是这种关联在程序启动的时候是可以改变的,这就是IO重定向每个标准输入输出描述符都有自己的缓存,向他们的缓存块里写入数据,程序就可以调用相应的函数读取,例如getchar()可以从stdin的缓存块里读取一个字符#include <stdio.h>
阅读全文
摘要:UNIX系统有一个设计哲学:一切皆文件,最初对这句话没啥体会,不知道他说的是啥,直到看到fdopen(),fileno()才发现原来在UNIX下任何文件描述符都可以和FILE类型做互相的转换,这个例子是本来是一个socket文件描述符,也可以调用fdopen()转换成为以个FILE流,然后通过fread,fwrite进行网络通信,原来UNIX用文件流这个概念屏蔽了不同设备(网卡/硬盘/CD)的差异,抽象读一个可写可读的流.windows部分支持这个特征,但前提是转换的HANDLE(Windows的文件描述符)是文件指针,这样可以通过fdopen转换成为FILE*否则fdopen里用于检查HAN
阅读全文