- coLinux配置网卡一个被忽略的细节
公司主机上装有symantec的安全客户端,并在出口的防火墙上给了一堆的规则,给colinux的网卡配置带来障碍,在其它网络环境下能用的colinux在公司里面就跑不起来了,回忆起两个月之前装的,没有任何问题,相比较,得出结论:
网络始终设置不好的,是来自colinux安装包
网络没问题的,来自下载的ubuntu 9.10 desktop标准版本,安装到主机里,再设置colinux的分区 cobd0=/Device/Harddisk0/Partition5,自然就可以工作,网卡信息:
eth0=slirp
eth1=tuntap,"tap",02:00:00:00:04:0
eth1=tuntap,"tap",02:00:00:00:04:0
原来如此。
- 在页面中用javascript实现按键模拟,在主流的浏览器下均通过测试
{
focusedObj.focus();
var evt;
var chr="";
if (window.KeyEvent) {
if(keycode=='l') keycode=8;
else keycode=keycode.charCodeAt(0);
evt = document.createEvent('KeyEvents');
evt.initKeyEvent("keypress", true, true, window, false,
false, false, false, keycode, keycode);
focusedObj.dispatchEvent(evt);
}
else
{
if(keycode=='l')
{
DocumentSelection.deleteAtCursor(focusedObj, false);
}
else
{
chr=keycode;
}
if(chr)
{
DocumentSelection.insertAtCursor(focusedObj,chr);
}
}
}
调用举例:
insertKey('a');
- vim状态栏里显示光标所在代码函数名称,编辑大的源码时很有用
借助TagList.vim插件可以实现该功能:
let g:Tlist_Process_File_Always=1
let g:Tlist_File_Fold_Auto_Close=1
let g:ctags_statusline=1
let g:ctags_path=$ANDROID_BUILD_TOP
set statusline=%<%F%=%([%{Tlist_Get_Tagname_By_Line()}]/ %l,%c%V%)/ %P
- linux下,如何在python脚本中改变运行后的shell环境变量
常规的办法是做不到的,因为python脚本是在shell中启动的子进程的解释器中执行的,当python执行完毕,这个子进程会完全退出,好在有一些折中的办法,就是利用tty的特点,用子进程向父进程模拟输入按键,然后这些按键组成的命令就能达到改变环境变量的目的了:
def shellcmd(cmd):
for c in cmd: fcntl.ioctl(0, termios.TIOCSTI, c)
- 让ollyscript输出字符串
exec
push eax //字符串首地址
call OutputDebugStringA
ende
ret
在ollyscript 9.2版本上测试通过,结果在ollydbg的log窗口中
(让我很意外,做了好多年的脚本系统居然字符串处理系统如此的弱,好在还能用系统api实现。)
- 如何更安全设置宏用于多平台编译:
1, Add two defines as followed, before call qmake
export FEAT_FORM_FACTOR=slider
export ASSERTIONS=FEAT_FORM_FACTOR
export FEAT_FORM_FACTOR=slider
export ASSERTIONS=FEAT_FORM_FACTOR
2, Change qmake.conf
QMAKE_CFLAGS = -pipe ====> QMAKE_CFLAGS = -pipe $(foreach a,$(ASSERTIONS),-A$(a)=$($(a)))
3, Change source codes if needed.
#if #FEAT_FORM_FACTOR(slider)
//...
#endif
- 让一个函数调用在release环境中完全消失。
#ifdef DEBUG
#define DFUN printf
#else
#define DFUN 1?0:printf
#endif
code:
DFUN("%s:%d debug:%s", __FILE__, __LINE__, debugOutString);
#define DFUN printf
#else
#define DFUN 1?0:printf
#endif
code:
DFUN("%s:%d debug:%s", __FILE__, __LINE__, debugOutString);