2007/05/26

gcc プログラミング時のメモ。

 
クライアントPCとサーバーPCのどっちかの時計が狂ってる場合gcc のコンパイル時に出る警告。
 
make: *** Warning: File `Make.rules.in' hasmodificationtime in the future
 
 
簡単に言うと、未来の日付になっているぞ! という事ですね。
  
自分のメインPCは NTP をセットしてないので、時刻が狂ってるのに気づかないまま SSH で作業して
しまいますた。
 
あーー、久しぶりにプログラミング以外の事でハマった( ´д`)
 
 
それにしても gcc 4系って、デフォルト( -Wall )で 可変引数を取る関数の書式チェック をしてくれますよね。
 
これはかなり便利で、ありがたい!
  
 
例えばこういうミスをしてしまっても、-Wall さえ付ければ教えてくれるんですよ。
 

C_String str = "hoge"; // 自作 の String を使用。
 
printf( "%s\n", str );  // 本当は str.GetString() としないと、このままではぶっとんでしまうが、
                             // %s には char* を指定する事を【警告】で教えてくれる
 
gcc 3.4 以降と VC8は、全く別なコンパイラオプション( 又は特殊構文の埋め込み )でやってくれたけど。
 
 
そういえばこういうチェックって VC6 でもあったけな??
 
 
むぅ、VC6 現役のクセにわかりませんw
 
 
ただ gcc のいやな所は、マルチライン コメント というありがたくない( むしろ邪魔 )な機能をサポート
しちゃってる所ですかね。。( ´д`)
 
マルチライン コメントのおかげで、Windows から移植する時びみょーにダルかったりする。
 
この機能ってコンパイラオプションで変えられたりしないのでしょうか?
 
 
情報もってる方いたら、ぜひ教えてください~。
 
ハッキリ逝って、この機能を使う日本人はいないと思うし

0 件のコメント:

コメントを投稿