問題タブ [weak]

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 投票する
5 に答える
50484 参照

c - GCCで弱いリンクを機能させるには?

シンボルを弱リンクするように GCC に指示する方法は 3 つあります。

  • __attribute__((weak_import))
  • __attribute__((weak))
  • #pragma weak symbol_name

これらのどれも私にとってはうまくいきません:

私はいつも次のようなリンクエラーを受け取ります:

OS X 10.5.5 で GCC 4.0.1 を使用しています。私は何を間違っていますか?

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

encryption - Tomcat 5.5.27 の弱い暗号を無効にしますか?

Tomcat 5.5.27 の弱い暗号を無効にする方法を教えてください。

0 投票する
4 に答える
3249 参照

c++ - boost :: weak_intrusive_pointerはありますか?

従来の理由から、生のポインターをスマートポインターに変換する機能が必要なため、侵入型ポインターを使用する必要があります。

しかし、私はブーストのための弱い侵入的なポインターがないことに気づきました。ブーストスレッドリストでそれについての話を見つけましたが、具体的なことは何もありません。

弱い侵入型ポインタのスレッドセーフな実装を知っている人はいますか?

ありがとうリッチ

0 投票する
2 に答える
942 参照

c++ - Python-弱参照がまだ利用可能かどうかを確認する方法

PythonからいくつかのweakrefをC++クラスに渡していますが、実際のオブジェクトがすでに死んでいるときに、C++デストラクタが積極的にrefにアクセスしようとしています。明らかにクラッシュします...

Pythonリファレンスがまだ生きているかどうかを確認するためのPythonC/ APIアプローチ、またはこれに対する他の既知の回避策はありますか?

ありがとう

0 投票する
4 に答える
3514 参照

c++ - boost::shared_ptrサイクルブレークwithweak_ptr

私は現在、次のような状況にあります。

参照が相互にポイントし続けるため、これが機能しないことはわかっています。私はまた、weak_ptrこの問題を解決すると言われました。

ただし、weak_ptrgetまたは->overloadはありません。'use'についての言及を聞いたことがlock()ありますが、これを正しく行う方法のコード例を誰かに教えてもらえますか?

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

java - 弱い暗号を使用した Java HttpURLConnection 接続

脆弱な暗号スイートを使用した接続を許可する Web サイトをチェックするために、Java の脆弱性スキャナーに取り組んでいます。したがって、たとえば、56ビットの「SSL_DHE_RSA_WITH_DES_CBC_SHA」(または他の弱い暗号)を使用して接続を試み、200 OKと言うと、Webサイトは脆弱です. これが私がこれまでのところです:

1- HttpURLConnection はデフォルトの暗号で常に正常に動作しますが、「System.setProperty()」を使用して弱い暗号を設定しようとすると、「cipher not supported exception (ほとんどの暗号スイートで)」または「接続が拒否されました」というメッセージが表示されます。 connect() しようとすると例外が発生します。接続が拒否されたことは、弱い暗号を受け入れない Web サイトに対する私の答えであることは知っていますが、例外の代わりに実際の http 応答ヘッダー (拒否コード付き) を取得するにはどうすればよいですか?

2- 実際には、SSL レベル (レイヤー 6) ではなく HTTP レベル (レイヤー 7) で脆弱性を見つけることに興味があり、http ヘッダーが場合によっては欺瞞的である可能性があることは知っていますが、それで問題ありません。

要約すると、弱い暗号スイートでのみ機能するには、次のようなものが必要です。

0 投票する
0 に答える
5006 参照

macos - Mac OS X での弱いシンボル リンク

現在、Mac OS X 10.6.7 と Xcode 4.0.2 で弱いリンクの問題に遭遇しました。

ドキュメントhttp://developer.apple.com/library/mac/#technotes/tn2064/_index.htmlにあるように、弱いリンク シンボルに gcc属性((weak_import)) を使用できます。ただし、次のサンプル コードは常にコンパイル エラーをスローします。次のように:

弱い.c :

エラーメッセージは次のとおりです。

オプション-undefined dynamic_lookupを使用しても、実行時にエラーがスローされます。

「a.out」のnm -mメッセージは次のとおりです。

これは次のように予想されました:

ただし、gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 を使用して Ubuntu でコンパイルすると、期待どおりに動作します。

弱い.c :

  robin@robinz:/tmp/o$ gcc weak.c robin@robinz:/tmp/o$ ./a.out SayHello が存在しません!

バイナリでの SayHello のシンボルは次のとおりです。

"w" シンボルは、特に弱いオブジェクト シンボルとしてタグ付けされていない弱いシンボルです。

古い xcode 3.2 をテストすると、期待どおりに動作します。

誰かがこれについて私を助けることができますか? ldのバグでしたか?

そして、さらに興味深いものを見つけました。動的ライブラリで SayHello シンボルをエクスポートするダミー ライブラリを作成すると、期待どおりに動作します。

ダミー.c :

 

「libdummy.dylib」が存在しない場合:

期待どおりに動作します!予想どおり、nm メッセージにウィーク シンボルが表示されるようになりました。

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

java - 弱い参照でガベージ コレクションが取得されませんか?

弱参照について勉強していました。そして、OutOfMemoryError が発生する前に、すべての弱い参照がガベージ コレクションされることを理解しました。私はこのような簡単なテストをしました(OOMEをキャッチするのは良くないことは知っていますが、単なるテストです):

弱い参照が収集されている必要があるため、null が出力されることを期待していましたが、常に 10 の出力が得られます。

どこが間違っているのか教えてください。弱い参照の概念が間違っていると理解できましたか?

0 投票する
3 に答える
1770 参照

java - Class オブジェクトがガベージ コレクションされるのはいつですか?

ClassJavaオブジェクトがガベージ コレクションされるタイミングを教えてくれる人がいるかどうか疑問に思っていました。Map<Class<?>, Class<?>[]>私の使用例は、オブジェクトのクラス階層を保持するキャッシュ ( ) です。

例えば:

の (短い) 階層はString.class(降順): String.class->になりObject.classます。このタイプの有効なキャッシュ エントリは[KEY: String.class, VALUE: {String.class, Object.class}].

String.classString.class はガベージ コレクションする必要があるため、これは悪い例だと思います。

私が取り組んでいるシリアル化プロジェクトには、このキャッシュが必要です。オブジェクトを作成するとき、システムは正しい「コーデック (シリアライザー)」を選択するために、このオブジェクトの階層を必要とします。各オブジェクトの階層を収集すると、不要なオーバーヘッドが発生します。しかし、その後、メモリリークについて考えました。おそらく、クラスオブジェクトはガベージコレクションされる可能性があります(これはわかりません)が、キャッシュで強い参照を使用している場合は機能しません。

WeakHashMap で十分だと思いますか? または、次のようなものを使用する必要がありますか:

この問題についてどう思いますか。

0 投票する
3 に答える
135 参照

attributes - Dプログラミング言語でモジュールのメイン関数をオーバーライドする方法はありますか?

本当に必要な場合は__attribute__((weak))、Cで指定できます(scriptedmainを参照)。これにより、プログラムはAPIと実行可能ファイルを兼ねることができ、APIをインポートするコードがメイン関数を上書きできるようになります。

Dにはこれを行う方法がありますか?Pythonにはif __name__=="__main__": main()がありweakますが、Cの構文ははるかに近いようです。