cygwin中启动erlang应用程序的小错误

我用erlang写了个最简答的测试application,然后一如既往的在cygwin下make,./start.sh,结果报告:

       {"init terminating in do_boot",{undef,[{xxxx,start,[]},{init
,start_it,1},{init,start_em,1}]}}
       

在网上找了些关于这种问题的解决办法,不得其解。后来注意到我的启动脚本:

       #!/bin/sh
cd `dirname $0`
echo $PWD
exec erl -pa $PWD/ebin $PWD/deps/*/ebin -boot start_sasl -s xxxx -sname xxx -heart

       

pwd的输出是/cygdrive/d/work/erlang/xxxx。难道和目录有关?于是将$PWD修改为.,表示当前目录,结果就一切正常了。下面是在cygwin上的正确启动脚本:

       #!/bin/sh
exec erl -pa ./ebin ./deps/*/ebin -boot start_sasl -s xxxx -sname xxx -heart
       

语言陷阱:变量声明

前两周太忙了,从上周才稍微缓和些,也正是那段时间,背写了大量的代码,自然免不了错误的。但有些错误,在一定程度上,应该是可以避免的,比如下面的代码:

       int main(int argc, char* argv[]){
int* t = (int*)t;
for (int i = 0; i < 4; i++) {
t[i] = 0;
}
return 0;
}

       

继续阅读语言陷阱:变量声明