俺はビッグエンディアンでテストがしたいんだ!

F9c4e8b768c5857ee6b7003e283765a0?s=47 kenjihanada
February 22, 2019

 俺はビッグエンディアンでテストがしたいんだ!

by kawashin73

F9c4e8b768c5857ee6b7003e283765a0?s=128

kenjihanada

February 22, 2019
Tweet

Transcript

  1. 6.

    エンディアンはバイトの並び順(バイトオーダーとも) 例えば uint64 は 8 バイトの数値。その中身がどのように配置されているか ビッグエンディアン 0x0123456789abcdef → 0x01

    | 0x23 | 0x45 | 0x67 | 0x89 | 0xab | 0xcd | 0xef リトルエンディアン → 0xef | 0xcd | 0xab | 0x89 | 0x67 | 0x45 | 0x23 | 0x01 エンディアンとは
  2. 16.

    Travis CI で自動テスト Travis CI の CPU アーキテクチャは amd64 (リトルエンディアン)のみ

    Travis CI でビッグエンディアンでテストする手法を探す → QEMU でビッグエンディアンの CPU をエミュレートする
  3. 17.

    qemu で go test Linux で Go の実行環境をインストールできるのは以下のCPUアーキテクチャ amd64, 386,

    arm, arm64, s390x, ppc64le この中で、ビッグエンディアンなのは s390x https://golang.org/doc/install#requirements ※ arm はリトルエンディアン、armbe がビッグエンディアン
  4. 21.
  5. 24.
  6. 25.