3

つまり、基本的に、GNU Prolog は私の 32 ビット x86 Linux で 28 ビット整数を使用しているようです。

以下のコードはコンパイルできません。

foo(A) :-
   A0 is 0xdeadbeef,
   A1 is A0 >> 8,
   A2 is A0 >> 16,
   A3 is A0 >> 24.

次に、以下の 2 つの典型的な状況で混乱します。

  1. 32bitGNU Prolog (0xdeadbeef など) で整数を表す方法は? さらに押して、64ビット整数を表す方法は?64 ビット x86 Linux では、「long longC has 64 bit」と入力します。

  2. GNU Prolog を使用して C を呼び出す場合、マニュアルで定義されているインターフェイスにはinteger、およびその他があります..次に、Prolog から C に整数positiveを渡したい場合、どの型を選択すればよいでしょうか..? 32bitアドホックな解決策を見つけて、この質問に書いています。より良い解決策はありますか?

誰か助けてくれませんか?

4

1 に答える 1