tokuhirom's blog

C 言語で qsort_r がポータブルじゃなくて困る時の対策

https://github.com/noporpoise/sort_r

qsort は、ソート対象の変数以外を渡すことができないため、マルチスレッドのプログラムでは取り扱いづらい。tls 使えばいいが、それもなあ、という感じな時は、qsort_r を使いたい。

しかし qsort_r は標準化されていないため、ポータビリティが必要なケースでは使いづらい。

そこで sortr だ。sortr は、glibc 2.8 or later または BSD 環境下では qsortr を使い、linux 環境下では qsorts を利用し、何もなければ自前のソートルーチンでソートしてくれるという便利な奴である。

License も public domain なので使いやすくて良い。

Created: 2015-12-19 01:14:59 +0000
Updated: 2015-12-19 01:14:59 +0000