問題タブ [gcc4.8]

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 に答える
891 参照

c++ - 待機状態での C++ スレッドのデッドロック

前の 2 つの質問Move operations for a class with a thread as member variableCall function inside a lambda passed to a threadを拡張しようとしています。

wait_for を実行しているスレッドが通知されないことがあり、デッドロックが発生する理由がわかりません。Cppreference は条件変数について述べていますhttp://en.cppreference.com/w/cpp/thread/condition_variable/notify_one

通知スレッドは、待機スレッドが保持するものと同じミューテックスでロックを保持する必要はありません。実際、そうすることは悲観的です。通知されたスレッドはすぐに再びブロックされ、通知スレッドがロックを解放するのを待つからです。

MCVE、コメント行は、ロックを保持すると何が変わるかを説明していますが、その理由はわかりません。

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

node.js - Configure gcc-4.8.5 to include GLIBCXX_3.4.20 on centos6

Hi folks i've been searching for solutions to this problem for days but none of the methods posted online worked for me. Basically I'm trying to install NodeGit library on my production server (centos-release-6-8.el6.centos.12.3.x86_64). Doing npm install throws the following error:

Doing strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX gives:

So GLIBCXX_3.4.20 is missing. Running gcc -v gives:

Some places suggest I install gcc-4.9 following this . But it simply doesn't work because in the production server I have to install gcc through a host management tool(Roller) which is a pain in the ass and I want to avoid doing that.

Do you folks know any ways of getting the GLIBCXX_3.4.20 installed?

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

c++ - デフォルトの移動コンストラクター

データベース クラスがあり、明示的なコンストラクターは、渡されたフラグに基づいてデータベースに接続しようとします。失敗すると、スローされます。これは望ましくない (データベースが別のアプリによって作成されていない可能性がある) ため、空のコンストラクターとデフォルトの移動コンストラクターを追加しました。ユーティリティ クラスでは、データベースが作成されるまで待ってから、新しいデータベースを移動します。

単体テストでは、database_utils::connected()移動前に false が返され、移動後に true が返されることがわかります。ただし、データベースを使用する関数を呼び出すと、library routine called out of sequenceエラーが発生します。これは、データベースまたは不正な形式の選択ステートメントを開いていないことを示唆していますが、コンストラクターとデストラクタは正しい順序で呼び出され、データベースを作成してデータを入力し、選択ステートメントが機能するデータベース自体の単体テストがあります。

だから私の質問:デフォルトの動きは実際にそれを動かしていますか?そうでない場合、期待される動作を得るために何をする必要がありますか?

サンプルコード: