>>593
た確かに…!
VCだとC++リンケージの関数でも問題無く登録できてイゴイタ
ここの記述に引きずられてしまった↓
https://www.ibm.com/docs/ja/zos/2.2.0?topic=functions-atexit-register-program-termination-function
C および C++ のリンケージ規約は非互換の ため、atexit() は C++ 関数ポインターを受け取ることができない。
C++ 関数ポインターを atexit() へ渡そうとすると、コンパイラーが エラーとしてこれにフラグを付けることになる。
C++ atexit() 関数を使用するには、atexit() に登録されたすべての 関数を extern “C” として宣言することに より、
これらの関数が C リンケージを必ず持つようにしなければならない。