1

これは私の最初の投稿です。間違いがないことを願っています。次のコードがあります。2 次元配列を 1 ショットで、さらに重要なことに 1 バイト配列で割り当ててアクセスしようとしています。また、コードに示されているように、各サブ配列に個別にアクセスできる必要もあります。デバッグモードでは正常に動作します。ただし、VS 2012 のリリース ビルドでは、コンパイラの最適化が適用されると、実行時にいくつかの問題が発生します。リリース コンパイラの最適化を無効にすると、機能します。コンパイラに通知するために、ある種の特別なキャストを行う必要がありますか?

コードでの私の優先事項は、完全な配列の高速な割り当てとネットワーク通信であり、同時にそのサブ配列を操作することです。

私はブーストを使用しないことを好みます。

どうもありがとう :)

void PrintBytes(char* x,byte* data,int length)
{
    using namespace std;
    cout<<x<<endl;
    for(  int i = 0; i < length; i++ )
    {
        std::cout << "0x" << std::setbase(16) << std::setw(2) << std::setfill('0');
        std::cout << static_cast<unsigned int>( data[ i ] ) << " ";
    }
    std::cout << std::dec;
    cout<<endl;
}

byte* set = new byte[SET_SIZE*input_size];
for (int i=0;i<SET_SIZE;i++)
{
    sprintf((char*)&set[i*input_size], "M%06d", i+1);
}
PrintByte((byte*)&set[i*input_size]);
4

0 に答える 0