2005.02.21

コンパイル機能のカスタマイズ

emacsのコンパイル機能を少しだけカスタマイズしてみた。
非常に簡単で、以下を.emacsに追加しただけ。

1.M-x compile したときのコンパイルウィンドウの高さが大きすぎるので、これを10行程度に変更
(setq compilation-window-height 10)

2.M-x compile したときのデフォルトコマンドを設定
(setq compile-command "make -f ")

少しは使いやすくなったかな。

参考図書:
入門 GNU Emacs

| | Comments (0) | TrackBack (0)

2005.02.18

c-modeのインデントをTAB4にする

emacsのc-modeはデフォルトでインデント幅2になっているよぅなので、これをTAB4にしちゃいます。やっぱりTABは4でしょう:-)
以下を.emacsに追加するだけ。

(defun my-c-mode-hook ()
(c-set-style "linux")
(setq tab-width 4)
(setq c-basic-offset tab-width))
(add-hook 'c-mode-hook 'my-c-mode-hook)

簡単♪

| | Comments (0) | TrackBack (0)

2004.07.23

wgetとgtarのインストール

クライアントPCでダウンロードしたソースをftpでサーバへ上げる、ってゆう操作が面倒になりつつあったので、wgetをインストールして、その手間を省こうという作戦です。ついでにGNU tar(gtar)も入れて、tar zxvfを使えるようにしちゃえ、と。
インストールは特に問題になることはなく、普通にconfigureしてmakeしてmake installするだけです。

wget
ダウンロード:wget 1.9.1
インストール:
gzip -dc wget-1.9.1.tar.gz | tar xvf -
cd wget-1.9.1
./configure
make
su
make install

GNU tar(gtar)
ダウンロード:tar 1.14
インストール:
gzip -dc tar-1.14.tar.gz | tar xvf -
cd tar-1.14
./configure
make
su
make install

| | Comments (0) | TrackBack (0)

2004.02.03

JDEEのインストール

本格的にJava開発をやることになりそうなので、週末を利用してMeadowにJava開発環境を整えてみました。JDEEっつーのがいいらしいので、とりあえずインストール。基本的にsite-lispディレクトリへ展開してバイトコンパイルすればいいみたいです。eclipseはどーももっさりした感じがするので、JDEEでサクサクできるようになるといいかなぁ。

1.ダウンロード
 speedbar
 eieio
 semantic
 Emacs Lisp library (elib)
 JDEE

2.展開
  cd c:/Meadow/site-lisp
  gzip -dc c:/temp/speedbar-0.14beta4.tar.gz | tar -xvf -
  gzip -dc c:/temp/eieio-0.17.tar.gz | tar -xvf -
  gzip -dc c:/temp/semantic-1.4.4.tar.gz | tar -xvf -
  gzip -dc c:/temp/elib-1.0.tar.gz| tar -xvf -
  gzip -dc c:/temp/jde-latest.tar.gz | tar -xvf -

3.インストール&コンパイル(順番厳守)
  #speedbar
  cd c:/Meadow/site-lisp
  cd speedbar-0.14beta4
  make EMACS=/cygdrive/c/Meadow/2.00b2/bin/meadow.exe
  #eieio
  cd c:/Meadow/site-lisp
  cd eieio-0.17
  make EMACS=/cygdrive/c/Meadow/2.00b2/bin/meadow.exe \
   LOADPATH=../speedbar-0.14beta4
  #semantic
  cd c:/Meadow/site-lisp
  cd semantic-1.4.4
  make EMACS=/cygdrive/c/Meadow/2.00b2/bin/meadow.exe \
   "LOADPATH=../eieio-0.17 ../speedbar-0.14beta4"
  #elib
  cd c:/Meadow/site-lisp
  cd elib-1.0
  make EMACS=/cygdrive/c/Meadow/2.00b2/bin/meadow.exe
  #JDEE
  cd c:/Meadow/site-lisp
  cd jdee-2.3.2/lisp
  make EMACS=/cygdrive/c/Meadow/2.00b2/bin/meadow.exe \
   EIEIO=../../eieio-0.17 ELIB=../../elib-1.0 \
   SEMANTIC=../../semantic-1.4.4 \
   SPEEDBAR=../../speedbar-0.14beta4

この後、.emacsに
(require 'jde)
を追加すれば、.javaファイルを開くとjde-modeになります。

デバッグとかは細かい設定が別途必要ですが、とりあえずC-c C-v C-cでコンパイル、C-c C-v C-rで実行できました。

| | Comments (0) | TrackBack (0)

2004.01.05

スレッドセーフ関数

先日とあるプログラムがcoreを吐いて落ちてしまった。マルチスレッドプログラムなのに、スレッドセーフではない関数を使用していたのが原因らしい。coreを解析したところlocaltimeという関数で落ちていた。ちょいと調べたところ、こんなページ[コンピューター:C言語講座:マルチスレッドについて]が見つかった。対抗のスレッドセーフ関数は
struct tm *localtime_r(const time_t *clock,struct tm *result);
らしい。早速変更してテストしてみようと思う。

| | Comments (0) | TrackBack (0)

2003.12.24

eclipse事始め

最近はエディタにMeadowを使っているのですが、どうも年明けから始まるプロジェクトではeclipseを使え、となる模様。どうせ使いこなせないヤシばかりなのにねぇ。はいはい、使えというのなら使います。でもファイル編集はVisual Studioの時みたいにMeadow使っちゃうけどね。しかし、どこまで使って大丈夫なのかを確認する意味でも、eclipseを使ってみることにしました。
とはいっても、実際にやったことといえば、eclipseのページからeclipse本体とLanguage packをダウンロード、本体→言語パックの順で同じ場所へ展開し、適当な場所に移動してeclipse.exeを実行するだけです。
これだけではあまり面白くないので、plug-inをいくつか探して入れてみました。plug-inはSourceForgeでeclipseを検索キーとして検索するといろいろでてきます。

VSS Plugin for Eclipse
EclipseUML

VSS Pluginはともかく、EclipseUMLはなかなか面白いです。クラス図が即時にJavaコードになるので、結構使えそうです。この手の製品で有名どころといえばRational Roseですが、結構高いからねぇ。

この他、参考図書として標準Eclipse完全解説を購入しました。なかなかわかりやすいので、とりあえずこの本を読む進めてみることにします。その前にJavaを思い出さないとなぁ、SCP-Jを受験して以来、まったくといっていいほど使ってなかったから忘れてしまったよ。

| | Comments (0) | TrackBack (0)

2003.12.19

CygwinでARM(GBA/Zaulus)のクロスコンパイル環境を作る

ARMのバイナリが作れるようにクロスコンパイル環境を作ることにしました。具体的にはbinutilsとgccのtargetがARMのものを作ります。Linuxマシンがお亡くなりになってしまったので、WindowsXP+Cygwinで作りました。
当初、configureしてmakeしてinstallという簡単なものだと思っていたのですが、gccは少々手順が必要で、newlibちぅものも必要そうだというのがわかりました。以下はいろいろ調べて試して、gccのコンパイルが成功したときの手順です。

1.ソースのダウンロード
 gccbinutilsnewlib
 ※ダウンロード先は~/armとした

2.ソースの展開
 cd ~/arm
 gzip -dc gcc-3.3.2.tar.gz | tar -xvf -
 gzip -dc binutils-2.14.tar.gz | tar -xvf -
 gzip -dc newlib-1.11.0.tar.gz | tar -xvf -

3.binutilsのビルド&インストール
 cd ~/arm
 mkdir BUILD
 cd BUILD
 mkdir binutils
 cd binutils
 ../../binutils-2.14/configure --with-included-gettext \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --prefix=/usr/local/arm
 make
 make install

4.ビルドしたarm-elfのbinutilsへのパスを通す
 export PATH=/usr/local/arm/bin:$PATH

5.gccのCコンパイラだけビルド&インストール
 cd ~/arm/BUILD
 mkdir gcc
 cd gcc
 ../../gcc-3.3.2/configure \
  --enable-languages=c,c++ \
  --with-included-gettext --enable-shared --enable-threads \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --with-newlib \
  --prefix=/usr/local/arm
 make LANGUAGES=c all-gcc
 make LANGUAGES=c install-gcc

6.newlibのビルド&インストール
 cd ~/arm/BUILD
 mkdir newlib
 cd nbewlib
 ../../newlib-1.11.0/configure \
  --target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
  --prefix=/usr/local/arm
 make
 make install
 
7.gccの残りをビルド&インストール
 cd ~/arm/BUILD/gcc
 make
 make install
 
8.シンボリックリンクの作成
 arm-elf-gccとかだと使いにくいので、gcc-armなどでシンボリックリンクを作る

これで一通りクロスコンパイル環境が整いました。
さて、これでザウルスやGBAをターゲットとしたソースをコンパイルして動くのかどうかは未確認。確認はまた今度。

| | Comments (1) | TrackBack (1)

2003.12.03

Excel(VBA/ADO)でOracle検索

Excel(VBA/ADO)でOracleのデータを検索して表示したい、とかいう依頼が来たので、ちょいちょいと作ってみた。結構忘れてることが多かったので、メモを残す。
基本的には接続→SQL実行→フェッチ→クローズ。サンプルはユーザーが使えるテーブルの一覧をイミディエイトウィンドウへ表示するだけだが、基本はこれでOK。と思いたい。なお、イタリック部分は環境により変更しなくてはならないところ。

1.接続
  ' 接続先情報
  Const strDatabase = "sid" 'sid
  Const strUserID = "user" ' user
  Const strPassword = "pass" ' pass
  '接続オブジェクトの作成
  Set cn = CreateObject("ADODB.Connection")
  '接続
  cn.Open "Provider=MSDAORA;" & "Data Source=" & strDatabase & ";", strUserID, strPassword

2.SQL実行
  ' SQL
  strSQL = "select table_name from user_tables"
  ' SQLの実行
  Set rs = cn.Execute(strSQL)

3.フェッチ  Do Until rs.EOF
  Debug.Print rs.fields(0)
    rs.MoveNext
  Loop

4.クローズ
  rs.Close
  Set rs = Nothing
  cn.Close
  Set cn = Nothing

| | Comments (0) | TrackBack (0)