タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ネタとプログラミング言語に関するgiassのブックマーク (1)

  • 括弧で34087重に囲んだ関数を食わせるとg++が死ぬ

    TL;DR ((((printf("Hello World\n")))))みたいに関数をたくさんの括弧で囲むとコンパイラが死ぬので気をつけましょう。 はじめに 以前、printfに4285個アスタリスクをつけるとclang++が死ぬという記事や、GCCに27958段ネストした関数をわせると死ぬという記事を書きました。 特に、printfにアスタリスクをたくさんつける記事では、clang++がわりとすぐ死んだのに対して、g++は5万個とかつけても大丈夫でした。一般に、コンパイラが死ぬ系のコンパイラいじめは、再帰でスタックを使い切るタイプのものが多く、LLVMよりもGCCの方が頑健という印象です。 さて、C++では、括弧を無駄につけることができます。例えば、

    括弧で34087重に囲んだ関数を食わせるとg++が死ぬ
  • 1