私はいくつかのレガシーCコードを作成しています。彼らは正しく見えないし、いくつかのコンパイラの警告(警告:コンマ式の左側のオペランドは効果がありません)、最終的にこれらのマクロを追跡するのに数時間かかりました。これらの奇妙なマクロ定義は何を意味していますか?それとも正しいですか?
誰でも正しいのかどうか教えてもらえますか(そうでないと思います)、そうでない場合はどうすれば修正できますか?
これは本当に何#define MAX_MEMORY_BLOCK (sizeof(size_t)==2,65535,2147483647)
#define MAX_ARRAY_SIZE (sizeof(size_t)==2,16384,1073741824)
コードではどのような文脈で使用されていますか? –
@CodyGray私はそうは思わない - それらはカンマの明確な値です。私には意味がありません。 –
オリジナルの意図は '(sizeof(size_t)== 2?a:b)'でしょうか? – Mat