Avatar_small

Tcl 现代方法:tailcall

Tailcall 是 Tcl 8.6 引入的新功能。功能如其名,本来是用来实现尾调用的。

Avatar_small

Tcl 现代方法:eval 方法大全

#include <tcl.h> /** * puts [set a [expr {20 * 30}] */ void EvalString(Tcl_Interp *interp) { Tcl_Obj *result; char script[] = "set a [expr {20 * 30}]"; ...

Avatar_small

mount 使用方法详解

mount是linux很常用的命令,用于挂载各种设备(包括本地block设备,NFS,虚拟设备等),umount用于卸载设备。如果挂载一个设备到一个目录中,则通过该目录可以访问设备的文件(必须有权限访问),而原来目录的内容会暂时性隐藏(不会覆盖,卸载后恢复可见)。 mount最常用的使用方式为: mount device dir 比如 mount /dev/sd...

Avatar_small

升级到ubuntu 14.04遇到的问题

本来用着12.04打算一直用到不能用为止,但前两天看ubuntu touch发布新版,想升级以下ubuntu SDK看看(之前第一次发布的SDK bug成堆,根本没法用)。新版的SDK只支持14.04,所以干脆升级一下好了。然后果然遇到问题,都跟输入法有关。 1. ibus无法关闭 只能切换输入法状态到英文来输入英文,不能关闭输入法。无奈卸载ibus,改用fcitx。 ...

Avatar_small

[HNOI2004]宠物收养所

Splay求前驱与后继,然后累加和即可。 书上的Splay求x的前驱与后继需要插入x之后才能求得前驱与后继。删除操作时把x与前驱或者后继删除即可。 #include <cstdio> #include <algorithm> #include <vector> #include <cstdlib> #inc...

Avatar_small

shadowsocks简易代理

以下是运行在windows的简易shadowsocks 第一步:下载shadowsocks包 第二步:解压 打开config.json配置帐号信息 帐号可从以下地方获取 http://boafanx.tabboa.com/boafanx-ss/ https://www.shadowsocks.net/get 配...

Avatar_small

怎样构建一个不依赖gcc/binutils的llvm/clang Linux工具链

本文不讲原理,只讲步骤。需要了解什么是unwind,crtbengin/end,ehtable以及libgcc_s/libgcc_eh或者c++abi/supc++的,请查阅相关文档。 1,Build llvm/clang/lldb/lld 3.5.0等组件 1.0 准备: 至少需要从llvm.org下载llvm, cfe, lldb, compiler-rt,...

Avatar_small

java无回显的密码输入

在java6中有一个新类Console,能够实现无回显输入,用于安全输入!以下是代码样例: import java.io.*; import java.util.*; public class ConsoleDemo { public static void main(String[] args) { Console console = Syste...

Avatar_small

Vim使用微软雅黑字体

加上编译选项 CFLAGS = $(CFLAGS) -DFEAT_PROPORTIONAL_FONTS

Avatar_small

java中使用private构造方法不能实现单例模式

众所周知,一般使用java实现单例模式有两种方法,分别为急切式(饥饿式)和双重加锁式,急切式就是在声明时即创建,这样在类加载时就已经创建好了,即时我们可能并不不需要它,它的生命周期是永久的,造成内存泄漏的可能!第二种方式是lazy的,只有在使用时创建,实现了延迟加载。代码为 1.急切式 class Singleton { private final static...

Avatar_small

Scala随机数生成及复杂Generator的构造

在程序中使用随机数的需求很普遍,有时候我们还需要用到一些更加复杂的随机数据结构,比如生成一个随机的列表或者二叉树等,探索性测试可以算一个典型的应用场景。 在Scala中生成一个随机整数有现成的函数可用:scala.util.Random.nextInt()。让我们看看我们如何基于它来用优雅简洁的程序构造一些更复杂的generator。 我们首先要对Generator的功...

Avatar_small

Splay伸展树

Splay伸展树 Splay是二叉查找树,不是一颗平衡树,但可以通过自调整达到一种近似平衡的情况。Splay在连续M次操作中均摊时间复杂度是M*logn,其中n为节点的个数,M为操作的次数。Splay的操作与特点将在以下介绍。 当访问一个节点时,立即把当前访问的节点旋转到根节点,让访问(插入)的节点立马成为新的根节点。 旋转操...

Avatar_small

java同步工具Phaser

从java7开始在concurrent包中加入了Phaser类,它几乎可以取代CountDownLatch和CyclicBarrier, 其功能更灵活,更强大,支持动态调整需要控制的线程数。下面以一个具体实例说明这个Phaser类的用处,相信理解这个例子后,其功能不言而喻。 例子:有若干考生参加考试,考试科目是统一的,考试顺序为语文、数学、英语共三门,若其中一门挂科,则不能参加...

Avatar_small

目前在Solaris下面安装开源软件唯一的好办法——pkgutil

这个标题一点都不夸张……我近来在虚拟机上玩solaris10,但是发现系统自带的软件普遍比较老。在上古传说中,可以在一个叫做sunfreeware的网站上面下载软件,但是竟然发现这个网站开 始收费了!真是时运不济。于是我想要另寻出路。我花了很长时间搜索,找到了一个sunfreeware的镜像,可惜软件都是2006年的;后来我又找到了 一个companion ...

Avatar_small

新设计的字符串匹配

正则太麻烦了,我又太笨,学不会,就自己随便设计一个。当然也只是随便设计而已。 '' 括起来的字符串表示是独立的单词,如输入 'hello' 则不会和 helloworld 匹配 "" 括起来的字符串表示可与其他,如输入 "hello" 则会与 helloworld 匹配 在一个匹配节中,紧挨...