問題タブ [uthash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1458 参照

c - UTHash マルチレベル ハッシュ テーブルが HASH_FIND_STR でクラッシュする

私は次のような2つの構造を持っています:

私のコードでは、私はこのようなことをします

これにより、HASH_FIND_STR() でセグ フォールトが発生するようです。私が間違っていることはありますか?この例では、my_item1 と my_item2 は別の場所から取得され、有効であると想定しています。値を見つけるためのキーとして stringkey を使用したいと思います。

条件の部分にブレークポイントを置いたIFので、最初は見つからないことがわかり、そのキーの2番目の検索でelseブロックが入力されます。

興味深いことに、HASH_ITER を使用してエントリを反復処理すると、少なくともクラッシュすることなく「機能する」ように見えますが、すべての値が同じであるとは確信していません。

0 投票する
1 に答える
244 参照

c - 関数呼び出しの UTHash は反復を 1 回実行しますが、2 回目は実行しません

ローカル変数での uthash の使用に問題があります。

私のコードは次のようになります。query_dict はローカル変数 uthash です。

より密接に:

print_query_struct への呼び出しは正常に実行されますが、トークンのプリフェッチへの呼び出しは 1 回の反復を実行してから、次のようにクラッシュします。

アドレス、0x0000001000000000 は常に同じです。

私はあらゆる種類のさまざまなことを試してきましたが、うまくいきませんでした。ここで何が起こっているか知っている人はいますか?

構造体:

編集: コードをかなり単純化し、実行可能な例を小さくしましたが、本質的に、これは失敗するコードです: http://pastebin.com/qdDiQMG0 コンパイルしてから ./binary で実行します

例えば。./バイナリ「ウォッシュヘルプ」

編集2:なぜそれが機能したのかよくわかりませんが、解決しました:init_alloc_queryを次から書き直しました:

次のように動作します。

そして、すべてがうまくいきます。

0 投票する
1 に答える
64 参照

c - 互換性のないポインター型からの割り当てに関する問題

ファイルを読み込んで、ハッシュに保存してからコピーしようとしています。ただし、互換性のないポインター型を取得します

}

初期化const char **n, *names = {array elements here}; するとコードは機能しますが、私が持っているコードでは機能しません。助けてください。