1

これをコンパイルすると奇妙なエラーが発生します

#include <termios.h>
#include <stddef.h>
struct Test {
    int a;
    int b;
};
void test() {
    static int test_array[(offsetof(struct Test,a)) > 0 ? 2 : 1];
}

arm-linux-androideabi-gcc -c を使用:

test.c:8:13: error: storage size of 'test_array' isn't constant

これについての奇妙なことは、私が

#include <termios.h>

全体がエラーなしでコンパイルされます。また、ubuntu システムにインストールされている gcc を使用すると、termios.h をインクルードするかどうかに関係なくエラーは発生しません。理由はありますか?

背景: ghc (グラスゴー haskell コンパイラ) android クロスコンパイラをコンパイルしようとしていますが、hs2hsc はこの状況で失敗します。

4

0 に答える 0