ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

タイトル …DOSの

2006-06-30 03:53:38 | PG(DOS)

WindowsXPのコマンドプロンプトで使えるコマンドをちょっと追加。

  • 端末関連にtitle,colorを追加。
  • ディレクトリ関連を追加。pushdとかを入れようと思ったら、分類ごと無かったので新設。
  • システム情報関連にwinver,msinfo32.exeを追加。msinfo32の方は基本的にパスが通ってないので、コマンドに入れるかどうか微妙。というか、winverもダイアログを開くから DOSコマンドからは外れるよな(汗)
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

kshのメモを書こうと思ったら

2006-06-27 22:17:25 | PG(UNIX)

kshのメモを書いておこうと思ったら、やっぱりsh(ボーンシェル)のことをメモしておかないとなー。
というわけで、シェルスクリプトのメモを作成。

併せて、コマンドを複数実行する方法についてもちょっと追記。

ついでにコマンドのメモもちょっと追加。

  • teeに-aオプションを追加。
  • ファイル内容関連にwctouchを追加。よく使うものはメモするのをよく忘れる(苦笑)
  • 環境変数関連にreadを追加。端末関連でもよかったかなーとちょっと思う…。
  • その他にtestを追加。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JNIでSJISを扱う方法

2006-06-24 12:29:20 | PG(Java)

JNIでSJISの文字列を扱う関数を作ってみた。

実質は「new String(バイト配列, "MS932")」とか「str.getBytes("MS932")」をやっているだけだけど。
C/C++側でこれをやって、charの配列にして返すことに意味がある。
Java側でこれをやってSJISのバイト配列を渡すようにしても、C/C++側でけっきょくバイト配列からcharの配列を取得する必要があるから。それなら全部C/C++側でやっちゃいたいよねー。

ところで この関数では、関数内でしか使わないワークとしてStringやbyte[]のオブジェクトを作り出しているが、少なくともJavaへ制御が戻らないとGCでクリアされないよなー。(そもそもJNI関数の中でGCが動くことがあるのかどうか不明だが)
つまり何度も呼び出していると無駄なオブジェクトがどんどん溜まっていくわけだ。
使わなくなったことを示すJNI関数とかがあればいいんだけどなー。

あと、char配列はmallocを使ってfreeで解放するというベタな方法を採っているが、C/C++なので、解放し忘れって当然考えられるわな。JNIのRelease系関数って、やっぱり同じなのかなぁ。もしJavaに戻る際に自動的に解放するような機構をとっているなら、それと同じやり方にしたいよなー。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JNI 例外

2006-06-24 04:38:20 | PG(Java)

JNIでの例外処理を補足。

「catch(Exception e)」を実現するだけでも、クラスを取得したり色々しなければいけないので面倒だな~。
まぁ、C/C++の中でわざわざJavaと同じようなそんな処理を行おうとするのが間違いかな。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Eclipse3のjadClipse

2006-06-24 02:42:41 | PG(Java)

Eclipse3.1にjadをインストールする手順をメモ。

基本的にEclipse2のときから変わっていないのでほとんどコピペ(笑)
しかし若干手順が楽になっている部分もある。

ところでjadのダウンロードページを見たら、Eclipse3.2用というのがあった…。
比較的最近Eclipse3を入れたつもりだったのが3.1なのに、いつの間に3.2なんてものが出ていたんだ(爆)

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする