Linux 2.6.32
Intelコンパイラ:icpcバージョン13.0.1(gccバージョン4.4.6互換性)
#include <iostream>
#include <sys/types.h>
int main()
{
std::cerr << sizeof (__uint128_t) << std::endl;
return 0;
}
出力:16
したがって、タイプ__uint128_t
が存在します。
ただし、を使用すると__uint128_t
、コンパイルエラーと実行エラーが発生します。
プログラム:
// File int01.cpp
#include <cstdint>
int main()
{
uint128_t val128 = 0;
return 0;
}
// File int02.cpp
#include <cstdint>
int main()
{
__uint128_t val128 = 0;
return 0;
}
// File int03.cpp
#include <iostream>
#include <cstdint>
int main()
{
__uint128_t val128 = 0;
std::cerr << val128 << std::endl;
return 0;
}
コンパイル:
icpc int01.cpp
/usr/include/c++/4.4.6/c++0x_warning.h(31):壊滅的なエラー:#errorディレクティブ:このファイルには、次のISOC++標準であるC++0xのコンパイラとライブラリのサポートが必要です。このサポートは現在実験段階であり、-std = c++0xまたは-std=gnu++0xコンパイラオプションを使用して有効にする必要があります。#errorこのファイルには、今後の\^のコンパイラとライブラリのサポートが必要です。
int01.cpp(コード4)のコンパイルが中止されました
icpc int01.cpp -std = c ++ 0x
int01.cpp(4):エラー:識別子"uint128_t"は未定義ですuint128_tval128 = 0; ^
int01.cpp(コード2)のコンパイルが中止されました
icpc int02.cpp -std = c ++ 0x
//エラーなし
icpc int03.cpp -std = c ++ 0x
int03.cpp(6):エラー:複数の演算子「<<」がこれらのオペランドに一致します:
function "std::basic_ostream<_CharT, _Traits>::operator<<(long) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(unsigned long) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(short) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(unsigned short) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(long long) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(unsigned long long) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT=char, _Traits=std::char_traits<char>]"
function "std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT=char, _Traits=std::char_traits<char>]"
operand types are: std::ostream << __uint128_t
std::cerr << val128 << std::endl;
^
int03.cpp(コード2)のコンパイルが中止されました
何か提案はありますか?