出社。上層部がバトっているところが目に入るが、目に入る位置でやってくれるようになってくれただけ改善しているらしい。
業務で詰まっているところがずっと解けない。
気分が沈んでいる。
競技プログラミング
なんでこれ解けないんだろ。
手元で大きいケースをデバッグしようとしたらSegmentation Faultで全然ダメだった。しかしこれは提出してみるとACになるコードで、しかもint64_t
を`int'に置換すると手元でも動くというものだった。どうも手元のスタックサイズが小さすぎて、という感じのものなんじゃないかと思うが、こんな初歩的なものを手元で踏むの意味不明過ぎる。
しかもスタックサイズの変え方がわからない。リンカのオプションに"-Wl,--stack,10000000"とか指定しろと出てくるのに、手元でやったら
/usr/bin/ld: 認識できないオプション '--stack' です
はぁ? 本気で意味わからん。1時間40分消耗。なんでこうなるの? なんでなんでなんで? 苦しすぎ。
CMakeLists.txtに
target_link_options(<ターゲット名> PRIVATE "-Wl,-z,stack-size=100000000")
とか書けばコンパイルは通ったけど相変わらずSegmentation Faultは変わらない。-O2オプションを立てると落ちなくなるとかもあってもう無理。お手上げ。
これからこれに怯えながら競プロやるの嫌なんだけど。
ulimitで無理やり書き換えたら案の定ではあった。
XT:~/AtCoder/build$ ulimit -s 16384 XT:~/AtCoder/build$ ./AtCoder < in.txt 50000 XT:~/AtCoder/build$ ulimit -s 8192 XT:~/AtCoder/build$ ./AtCoder < in.txt Segmentation fault (コアダンプ)
ssh経由だとスタックサイズの変更はできないらしくてVSCodeのコンソールからだとダメだったり、めちゃくちゃ。
その他
最悪の気分。
結局、水曜日に転職の面接が入っていてナーバスになっているんだ。それだけといえばそれだけのことではある。
あまりに悪い気分だったので、久しぶりにamazarashiを聴くなど。
でももうあまり効かなくなっているかもな。それとも、やっぱり当時よりは今だってマシな状況なのかも。
多分2年前とかはもっとキツかったはず。過去から順番に日記を読み返していて、まだまだそこにはたどり着かないけど、少しだけ楽しみでもある。