アカウント名:
パスワード:
#define BEGIN {#define END }...
というのが延々と続く例の本のマクロみたいなのをプロジェクトで押しつけられたとき。デバッグで死にました。
これって四半世紀前のジョークだと思っていました.
悪名高い「やさしいCプログラミング [pro.or.jp]」ですか?
# どこが やさしい んだ(笑)
むしろ伝説のこの本のことかと思った。「Cプリプロセッサ・パワー C言語の秘められた能力を解き放つ [pro.or.jp]」
PASCAL 経験者がやりがちかもしれない…
typedef int boolean ; #define false (0) #define true (!0)
こんなのは、バグを誘発する可能性ありますよね。C言語では論理値は 2値ではないので、true の判定で。
boolean b = … ; if (b==false) { … } (1) if (b==true) { … } (2)
(1) のコードはいいとしても、(2) のコードでは意図したように判定できない場合がありますよね。「b != false」 なら問題ないのでしょうけど… (≧ω≦)
Bourne Shellの改造でもやってたんですか?
元祖 sh のソースもそんなんだったなw
知らないひともいるらしいので貼っておくか。
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h [tuhs.org]
はるか太古の時代には不自由なキーボードの都合で、そういう置換をやったり、そういう置換を考慮した仕様の処理系もあったんだけどねまあ、"pascal-macro.h"と明記してあるからには、太古のソースではなくプログラマの個人的趣味か............
FORTRANに対するRatforとかCのtrigraphのこと?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
#include "pascal-macro.h" (スコア:0)
#define BEGIN {
#define END }
...
というのが延々と続く例の本のマクロみたいなのをプロジェクトで押しつけられたとき。
デバッグで死にました。
Re:#include "pascal-macro.h" (スコア:2)
これって四半世紀前のジョークだと思っていました.
Re:#include "pascal-macro.h" (スコア:2)
悪名高い「やさしいCプログラミング [pro.or.jp]」ですか?
# どこが やさしい んだ(笑)
clausemitz
Re:#include "pascal-macro.h" (スコア:1)
むしろ伝説のこの本のことかと思った。
「Cプリプロセッサ・パワー C言語の秘められた能力を解き放つ [pro.or.jp]」
Re:#include "pascal-macro.h" (スコア:1)
PASCAL 経験者がやりがちかもしれない…
こんなのは、バグを誘発する可能性ありますよね。C言語では論理値は 2値ではないので、true の判定で。
(1) のコードはいいとしても、(2) のコードでは意図したように判定できない場合がありますよね。「b != false」 なら問題ないのでしょうけど… (≧ω≦)
Re: (スコア:0)
Bourne Shellの改造でもやってたんですか?
Re: (スコア:0)
元祖 sh のソースもそんなんだったなw
Re:#include "pascal-macro.h" (スコア:1)
知らないひともいるらしいので貼っておくか。
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h [tuhs.org]
Re: (スコア:0)
はるか太古の時代には不自由なキーボードの都合で、そういう置換をやったり、そういう置換を考慮した仕様の処理系もあったんだけどね
まあ、"pascal-macro.h"と明記してあるからには、太古のソースではなくプログラマの個人的趣味か............
Re: (スコア:0)
FORTRANに対するRatforとかCのtrigraphのこと?