こちらは、commeciさんのユーザページですよ。 アナウンス:スラドとOSDNは受け入れ先を募集中です。
commeciのコメント: 80平方メートルを『消失させた』 (スコア 1) 34
commeciのコメント: Re:虚構新聞あたりで (スコア 1) 32
commeciのコメント: Re:ログ出力でなく停止がデフォルトであるべき (スコア 1) 112
ユニットファイルにエラーがあるなら、そのユニットは起動しない、ということでしょう。
マルチユーザモードで動作するために必須のユニットであれば、重大なエラーなのだから、シングルユーザモードに落ちればよい。
commeciのコメント: 「控訴裁判所でも判決を指示しているという。」 (スコア 1) 6
「支持している」
のか
「指示している」
のかどっちだ?
上級裁判所が指示するも変なので、前者だと思われるが。
commeciのコメント: Re:志望診断 (スコア 4, おもしろおかしい) 33
commeciのコメント: 静的変数の初期値はリテラルのみ (スコア 1) 7
C言語の場合、静的変数の初期値はコンパイル時に確定する必要があるので、リテラルでないものは初期値には指定できません。
auto変数の場合は、初期値は実行時に設定されるので、変数でも関数でも指定できます。
マクロで初期値とする複合リテラルを宣言するのがいちばん素直な方法だと思います。
マクロであればネストしてもかまいませんし。
マクロ宣言で行末にバックスラッシュを書くことなどたいした問題ではないし、コード本文で初期値を正しく書けるのであれば、マクロ宣言でも正しく書けるはずです。
マクロの展開結果が不安なら、cc -E で確認できます。
どうしてもマクロで書くのが嫌なら、gcc の場合、__attribute__((constructor)) をつけて関数宣言すれば、main の実行の前にこの関数が実行されます。
グローバル変数であれば、ここで初期化することはできます。
(関数内 static はスコープ上無理。)
あるいは、処理系がC++11に対応していれば、constexpr 指定でコンパイラが計算してくれるため、初期値として constexpr 宣言した変数も指定できます。
ただし、これは C++ としての機能であるため、ファイルの拡張子を .cpp などにして、中身は mangle させないように extern "C" { }; で前後をくくっておくようにしておく必要があります。
commeciのコメント: DeNAではないですが (スコア 2) 56
commeciのコメント: UNIX System III (スコア 1) 17
https://www.soum.co.jp/~jun/OSC2015kyoto.pdf
後で UNIX System V も移植されたとあります。