Shammer's Philosophy

My private adversaria

2008-07-01から1ヶ月間の記事一覧

B shell で複数のファイルを配列として扱う

この@ITのサイト、 http://www.atmarkit.co.jp/flinux/rensai/shell05/parameter.html にいくつか方法が出ている。 直接的にやりたいことは出ていなかった。 どうにかしてこのパターンまで自分で考える必要がある。 一番簡単なのは ls *.c の結果をコマンド…

シェルで文字列を連結する

作成したシェルスクリプトが原始的すぎて更新が面倒・・・ ということで、やっぱり少し改良を試みる。 基本的に、cc でコンパイルすると -o オプションをつけない限りは すべて同じ名前のバイナリファイルにコンパイルされてしまう。 そのため、ソースごとに…

シェルモード

最初に Make を使おう!って考えたのは・・・Emacs のミニウィンドウから使えるためだ。 やっぱり、あれこれアプリを起動して、つまりEmacs以外にターミナルとか起動して作業するのは ちょっと面倒。。。そういうのを全部やってくれるのがIDEなのだがIDEは重…

コンパイル用シェルスクリプト

サンプルとはいえ、プログラムをたくさん書いているとそれなりに数が増えてくる。 最初は、Makeファイルを作って M-x compile と実行していたが、なんか Make ファイルの書き換えが面倒になってきた。 そもそも、 ・自分がほとんど Make を知らない ・Make …

変換仕様

C

Tiger より後のバージョンではわからないが、それ以前は Java でサンプルを作ると System.out.println("hogehoge"); というようなコードを使って文字をコンソールに表示させていた。 System クラスの static 変数 out がコンソールとひもづけられていて、そ…

for文のカウンタ宣言

C

これもやっぱりJavaと違う箇所。Javaでは、 for( int i = 0 ; i array[i] = i; } というように、for()の () 内で宣言した変数をそのブロック内で使用できたが Cではこれができないようだ。そのため、この宣言を外だしにする必要がある。 int loop; for( loop…

Cにはbooleanがない

C

Javaをやっていた自分からみて以外だった事実の一つがCにはboolean型がない、ということ。 0だとfalseとして扱われ、それ以外はtrueとして扱われるようだ。 while(true){ ... とJavaで書くような処理は、while(1){ ... という感じで書くようだ。 なんか変な…

EmacsLisp入門

開発環境として Emacs を使っていると、どうしてもあれこれ設定したくなる。 そこで、必要になるのがLispだ。Emacsを使う以上、どうしてもこれをある程度は 知っていないといけない。関数型プログラミングということでCやJavaとだいぶ毛色は 違うけれどもち…

仕事の勉強と個人の勉強

仕事がきつくなると、体力的にも時間的にも個人的な勉強時間を割くことが難しくなってくる。 個人的に勉強したい内容と仕事ですぐに必要な内容が一致している場合は これはかなり幸せなことだ。しかし、そうであるケースは非常に少ない。 今個人的に一番勉強…

リンカの仕事

C

Cの場合は実行時に動的に決まる情報というのは決められるのだろうか。 これを考えるとJava の動的クラスロードって便利と改めて考えさせられる。 それがこのリンカについて考えたときの自分の結論。 Cの場合は、コンパイル時にリンカを呼び出して、 実際の処…

プリプロセッサの仕事

C

プリプロセッサ・・・Javaにこういうのはあっただろうか。 コンパイル時の動きから考えると、Javaでいうところのインライン化とか、 ジェネリクスやcloneメソッドみたいな暗黙的なメソッド挿入とかが該当しそう。 Cでのプリプロセッサは、基本的に#で始まる…

コンパイルの実行

C

Javaの場合、自分の書いたソースコードは javac mysource.java としてやればJavaVMが解釈可能な中間コードができる。 これを java mysource という感じにして実行する。 こうするとJava仮想マシン上で mysource が実行される。だが、C言語の場合はこれよりい…

IT業界に激震?

ちょっと海外に行っていたので久々の更新。 開発の現場を離れたから、今のSIがどうなっているのかわからない。 でもちょっと気になるニュースを見た。 IT業界に激震走る! http://itpro.nikkeibp.co.jp/article/COLUMN/20080606/306796/ これまで当たり前だ…