2010年7月9日 星期五

android apn 預設設定檔

若要修改預設的apn資訊...
  1. 直接修改裝置上的/etc/apns-conf.xml,刪除 ./data/com.android.providers.telephony/databases/telephony.db,並重新開機
  2. 編BSP時包進去需放在 mydroid/development/data/etc/apns-conf_sdk.xml(注意檔名),若放在 mydroid/out/product/.../system/etc 下重編時會被developement目錄的那個檔蓋掉!

2010年7月8日 星期四

簡易vim使用

study area有比較詳細的教學

命令模式時:
  • 基本操作
  1. 上 k
  2. 下 j
  3. 左 h
  4. 右 l
  5. 複製(行) yy(Y) 2yy(複製兩行) yG(複製到檔尾) y[xx]G(複製到xx行)
  6. 貼上 p
  7. 復原 u
  8. 尋找 /(往下) ?(往上) 可用n N移動到下一個
  9. 尋找游標處的字 *(往下) #(往上) 可用n N移動到下一個
  10. 移動游標 gg(檔頭) G(檔尾) :xx(到xx行)^(行首) $(行尾)
  11. 翻頁 ctrl-f(pageup) ctrl-b(pagedown)
  12. 重複上一個動作 .
  • 程式設計
  1. 找出此變數定義的地方 gd
  2. 找出與游標處配對的括號 %
  3. 到目前function開頭 [[
  4. 到下個function開頭 ]]



2010年6月23日 星期三

C alarm() - 系統經過特定時間之後發sigalarm給程式

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/sigalarm.htm

程式在做一些timeout的功能時用alarm()很方便!

syslog - 寫入資訊至系統的log

參考http://blog.csdn.net/yulanarti/archive/2007/09/13/1783839.aspx




#include
void openlog (char*ident,int option ,int facility);
void syslog(int priority,char*format,……)
void closelog();

2010年6月22日 星期二

在程式內執行系統指令並取得回結果

使用popen()

參考http://www.lix.polytechnique.fr/~liberti/public/computing/prog/c/C/FUNCTIONS/popen.html


FILE *popen(const char *command, const char *type);
執行某指令並把stdout的值放入檔案並回傳
若要取得stderr可以在指令後加上 "2>&1"

用完後要使用pclose()關閉檔案


example:

/*
* Purpose: Program to demonstrate the popen function.
*
* to do: Check that the 'popen' was successfull.
*
* Author: M J Leslie.
* Date: 08-Jan-94
*/

#include

main()
{
FILE *fp;
char line[130]; /* line of data from unix command*/

fp = popen("ls -l", "r"); /* Issue the command. */

/* Read a line */
while ( fgets( line, sizeof line, fp))
{
printf("%s", line);
}
pclose(fp);
}

2010年6月14日 星期一

ganttproject - 畫甘特圖的軟體

http://www.ganttproject.biz/

蠻簡單的甘特圖軟體,使用java寫的,檔案使用xml格式儲存


不過發現下載回來的版本中文字型顯示有問題,全部變半形
但是線上版本運作就正常,所以就直接抓線上運作的版本,在本地執行

/usr/lib/jvm/java-6-sun-1.6.0.20/bin/javaws -offline /home/xxxx/ganttproject-2.0.10.jnlp

2010年6月4日 星期五

使用蜂鳴器通知某指令完成

1.先寫一隻能夠使蜂鳴器發出聲音的程式

//b2.c
#include
#include

void play(unsigned int* freq, unsigned int* delay);

int main(int argc, char* argv[])
{
speaker(330, 5);
speaker( 0, 5);
speaker(330, 5);

return 0;
}

int speaker(unsigned int freq,unsigned int delay)
{ static int flag=0,bit;
if(flag==0)
{
flag=1;
iopl(3);
}
outb(0xb6,0x43);
outb((freq & 0xff),0x42);
outb((freq >> 8),0x42);
bit=inb(0x61);
outb(3 | bit,0x61);
usleep(10000*delay);
outb(0xfc | bit,0x61);
return;
}


2.beep:一個shell script使b2在指令完成時執行

$*
sudo ./b2


3.把b2 and beep放至/bin

4.由於b2發出聲音要有root的權限,所以b2擁有者要設為root,然後對beep作setuid
http://www.google.com/url?q=http%3A%2F%2Flinux.vbird.org%2Flinux_basic%2F0220filemanager.php%23suid&sa=D&sntz=1&usg=AFrqEzfx6HcqK_4BpogqAlU2s7Ts5ttsug