10

mingw gcc で ac プログラムをコンパイルしようとしています。このプログラムは__uint128_t整数を使用しています。同じ64ビットマシンで標準のubuntu gccでコンパイルしようとすると、完全に機能します。しかし、それを mingw の下で Windows 用にコンパイルしようとすると、__uint128_tキーワードさえ認識されません。これは何を意味するのでしょうか?mingw の下に 128 ビット整数はありませんか? そうでない場合、ネイティブ (および FAST) 128 ビット整数を持つ Windows 用のプログラミング言語はありますか?

4

3 に答える 3

7

あなたが必要

  • 比較的最近のバージョンの gcc
  • ネイティブ 64 ビット整数サポートでコンパイルされたバージョン

__int128_tint64_t次に、64 ビット整数が 32 ビット コンパイルで使用できない場合に 32 ビットでエミュレートされるのと同じ方法で、 のペアを使用してエミュレートされます。

于 2011-08-24T11:29:20.790 に答える
6

Code::Blocks とデフォルトの mingw インストール (IA32 btw) を使用して同じ問題を解決できましたが、TDM-MinGW64をインストールすると、正常にコンパイルされました (x64 コンパイラを C::B に追加した後)。そのため、mingw ビルドが x64 をターゲットにしており-m64( .__uint128_t

__int128_tただし、使用しているWindows IDEは、特別なGCC拡張機能であるため(前述のとおり)、キーワードとして取り上げられません。

于 2011-08-24T11:52:54.793 に答える
1

しかし、それを mingw の下で Windows 用にコンパイルしようとすると、単に __uint128_t キーワードさえ認識しません。これは何を意味するのでしょうか?mingw の下に 128 ビット整数はありませんか?

実行しgcc -dM -E - < /dev/null | grep INT128ます。マクロ#define __SIZEOF_INT128__ 16を出力する場合__uint128_tは、利用可能です。マクロを出力しない場合、または 16 未満の場合__uint128_tは使用できません。

128 ビット整数も参照してください- 無意味なドキュメント? GCC ユーザーのメーリング リストで。

于 2017-01-11T02:14:17.457 に答える