検索結果 9 件

by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 64ビットのシフト演算
返信数: 3
閲覧数: 4022

Re: 64ビットのシフト演算

ありがとうございました。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 64ビットのシフト演算
返信数: 3
閲覧数: 4022

Re: 64ビットのシフト演算

すみません。
解決しました。

1に対して、シフトしてるからエラーなんですね。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: 64ビットのシフト演算
返信数: 3
閲覧数: 4022

64ビットのシフト演算

64ビットの変数をシフトするコードを教えてください。 uint64_t i; i = (1 << 30); i = (1 << 31); i = (1 << 57); 上記のようなコードを書くと、 warning #68: integer conversion resulted in a change of sign i = (1 << 31); ^ warning #63: shift count is too large i = (1 << 57); ^ とエラー表示されてしまいます。 よろしくお願いします。 g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-...
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mutexのデッドロック
返信数: 4
閲覧数: 3507

Re: mutexのデッドロック

ありがとうございました。

もやもやが、すっきりしました。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mutexのデッドロック
返信数: 4
閲覧数: 3507

Re: mutexのデッドロック

お返事ありがとうございます。

> 「何かの処理」が何なのかによるのではないかと思います。

数値の代入をしています。

関数 () { // スレッド
mutex ロック(資源1);
no_A = w_2;
mutex アンロック(資源1);

mutex ロック(資源2);
no_B = w_3;
mutex アンロック(資源2);
}

上記の場合、どれかのスレッドが
先に資源1を取っても、
解放してから、資源2を取りに行くから
理論的にデッドロックにならないと
思ったのですが...。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mutexのデッドロック
返信数: 4
閲覧数: 3507

mutexのデッドロック

関数 () { // スレッド
mutex ロック(資源1);
何かの処理
mutex アンロック(資源1);

mutex ロック(資源2);
何かの処理
mutex アンロック(資源2);
}

上記の関数が複数のスレッドにて動いている場合、
デッドロックは起きますか?

必ず、資源1のアンロックをしてから、
資源2のロックをしています。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mapの入れ子
返信数: 11
閲覧数: 8188

Re: mapの入れ子

返答していただいた方、ありがとうございます。

なんとか解決しました。
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mapの入れ子
返信数: 11
閲覧数: 8188

Re: mapの入れ子

>・「3つのキー」は数値(int)、文字列(std::stringまたはchar*)、数値(int)の組み合わせでいいですか? はい。 キー1,数値(int) キー2,文字列(std::stringまたはchar*) キー3,数値(int) データが分類されている順序も「キー1、キー2、キー3」になります。 キー1の値は不定ですが、2種類しかありません。 (例:200と205の時もありますし、500と207などの時もあります) キー1を動的に mapKey1A , mapKey1B にして mapKey1A( キー2、キー3 ) mapKey1B( キー2、キー3 ) のようにした方が map...
by usagi
9年前
フォーラム: C言語何でも質問掲示板
トピック: mapの入れ子
返信数: 11
閲覧数: 8188

Re: mapの入れ子

言語は、C++ (RedHat)になります。

3つのキー(1セット)の追加、消去が容易、
かつ、とても高速性が求められています。

となると、どの方法が良いのでしょうか?

具体的なコードで教えていただければ助かります。
(どう書いて良いのかわからなくて...)

よろしくお願いします。

詳細検索ページへ移動する