雑KiN3-改

ここは自分にとっての過去ログです。すなわち、他人にとっては単なるゴミ。

 若いのに今やっているメインテナンスな仕事のプログラムのコンパイル時の注意を話していて、「カーニハンリッチー」だからと言ったところ、難ですかそれ?と切り返されました。ううむ、K&Rを知らない世代になったか。


 K&RはANSI−Cの前の原初のC。Oracleを使っているんですが、OracleのPRO−Cはカーニハンリッチーがデフォルトだった(少なくともOracle8では)から、単純にコンパイルするとCコンパイラはANSI−C準拠なので警告を表示する。若手はこの警告を取れと言われても、まず何が問題なのか直ぐには気がつかないでしょうな。


 私はソースを見て、まずは妙な表記だなと思って、次の瞬間にこれってK&Rかなと気がつき、ソースをいじってコンパイルして見て対処できてしまったけれど。知らなければ警告を取るのに何日も調べることになることでしょう。


 ちなみに、その後でマニュアルを調べてみたら、POR−Cのコンパイル時にデフォルトをK&RからANSIに設定できることが判ったので、それも試してみたら問題なく動作しました。ソースはいじらないのが原則なので、コンパイル引数での対処にしました。


 それにしても、数年前の仕事で知るべきだった知識については、今は既に調べようがなくなっていることが多いです。急にメインテナンスに放り込まれても、その当時必要だった知識が入手しづらいからなかなか大変。このシステムも今ならPRO−C経由でなくてPHPやTomcatなどを経由でOracleからデータを引っ張って来るようにするでしょう。多分。そういう情報は手に入るのだけれど。。。