C 言語で qsort_r がポータブルじゃなくて困る時の対策
https://github.com/noporpoise/sort_r
qsort は、ソート対象の変数以外を渡すことができないため、マルチスレッドのプログラムでは取り扱いづらい。tls 使えばいいが、それもなあ、という感じな時は、qsort_r を使いたい。
しかし qsort_r は標準化されていないため、ポータビリティが必要なケースでは使いづらい。
そこで sort_r だ。sort_r は、glibc 2.8 or later または BSD 環境下では qsort_r を使い、linux 環境下では qsort_s を利用し、何もなければ自前のソートルーチンでソートしてくれるという便利な奴である。
License も public domain なので使いやすくて良い。
Published: 2015-12-19(Sat) 10:14