問題タブ [shared]

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

linux - 共有ライブラリ未定義シンボルを使用する Linux 共有ライブラリ

2 つの共有ライブラリ liba.so および libb.so。liba.so は libb.so を使用します。すべての c ファイルは -fPIC でコンパイルされます。リンクには -shared を使用します。liba.so で dlopen を呼び出すと、libb.so でシンボルを見つけることができません...「未定義のシンボル」エラーが発生します。エラーなしで libb.so を dlopen できます。ファイルが見つからないというエラーが発生しないため、liba が libb を見つけていることがわかります。libb.so を削除すると、ファイルが見つからないというエラーが発生します。-lutil を試しましたが、うまくいきませんでした。

何か案は????

そうそう。gcc 4.1.2

更新: liba をリンクするときに rpath を使用して、libb を見つけられるようにします。

ldd liba.so は以下を返します。

libb の末尾に .# がないことは意味がありますか???

0 投票する
6 に答える
2221 参照

c++ - 同期なしの SysV 共有メモリへの読み書き (セマフォ、C/C++、Linux の使用)

SysV 共有メモリを使用して、2 つのプロセスが相互に通信できるようにします。コードが複雑になりたくないので、セマフォを使用して共有メモリへのアクセスを同期する必要があるかどうか疑問に思いました。私の C/C++ プログラムでは、親プロセスが共有メモリから読み取り、子プロセスが共有メモリに書き込みます。セグメンテーション違反のような何らかのエラーを生成できるかどうかを確認するために、2 つのテスト アプリケーションを作成しましたが、生成できませんでした (Ubuntu 10.04 64 ビット)。2 つのプロセスが同じ共有メモリに while ループでノンストップで書き込みを行っても、エラーは発生しませんでした。

誰かがこの問題に関する経験を持っており、アクセスを同期するために本当にセマフォを使用する必要があるかどうか、または同期しなくても問題ないかどうかを教えてくれることを願っています.

ありがとう

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

c++ - gcc -l オプションと .la ライブラリ ファイル

.la ファイルに対して -l オプションを使用してリンクする方法を説明していただけますか?

私の経験が及ぶ限り、私は静的ライブラリ (.a) ファイルに対してのみリンクしています。

ここで、Qt で生成された Makefile をいくつか調べましたが、libQtCore.a を探す代わりに、-l QtCore スイッチが指定されている場合、リンカが libQtCore.la ファイルを使用/開く方法を理解する方法がわかりません。

また、gcc マニュアルでは、-l[ライブラリ名] スイッチには、lib[ライブラリ名].la ではなく、lib[ライブラリ名].a が含まれると述べています。

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

android - アンドロイド ==> 好み?

私のアプリは、以下のコードでヌル ポインター例外でクラッシュします。res/xml/defaults.xml の下に xml 設定ファイルがあります なぜクラッシュするのか分かりますか?

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

xml - ユーザー設定ファイル vs アプリ設定ファイル

私の Android アプリケーションには 2 種類の設定があります。

1) res/xml/preferences.xml でユーザー設定を定義して、ユーザーが PreferenceActivity で自分の設定を管理できるようにします。

2) アプリのグローバル構成設定用に別のファイルを定義したいと思います。

アプリの構成設定を管理する最良の方法は何ですか? 構成値を含む別の XML ファイルを作成する必要がありますか、それとも、strings.xml でそれらの構成値を指定する必要がありますか? 構成設定を管理するためのベスト プラクティスは何ですか?

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

file - アプレットとブラウザはキャッシュを共有しますか?

file.csvcsvファイルを使用し、それを呼び出して、すべての列を使用するサードパーティのアプレットがあります。file.csvまた、列の20%しか使用しないサードパーティのswfオブジェクトもあります。最初の決定は、メンテナンスが容易になるため、両方に同じファイルを使用することでした。

私の質問は、file.csvブラウザによって一度ダウンロードされ、アプレットとswfの両方で共有されるのか、それともアプレットとswfの両方が独自のコピーをダウンロードするのfile.csvかということです。

file.csvは大きなファイルであり、ユーザーがそれを2回ダウンロードする必要がある場合、2つのバージョンを維持することで帯域幅を節約できるため、これは重要です。

Firebugを使用すると、CSVは1回だけリストされます。ただし、swfを削除しても、アプレットはフェッチしますfile.csvが、Firebugにリストされません。

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

unix - *nixシステム全体のスレッドとプロセスのミューテックス

同じプロセス内のスレッドと異なるプロセス間でのスレッドによる同時使用から保護したいリソースがあります。* nixでそれを行う「正しい」方法は何ですか?

たとえば、マルチスレッドアプリからファイルに書き込みたい場合、マルチスレッドアプリは時々いくつかのサブプロセスをフォークします。各スレッドがしばらくの間ファイルに排他的にアクセスできるようにするにはどうすればよいですか?共有メモリセグメントなどである可能性があるため、ファイルへの書き込みだけで機能するものではなく、一般的な答えを探しています。

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

objective-c - 共有Objective-cメソッドでクラスタイプを取得しますか?

Objective-Cには、Alloc/Initのメタファーがあります。また、内部的に両方を連続して呼び出す「new」と呼ばれる共有の便利なメソッドも追加しました。また、FooClassというNSObjectのサブクラスを作成すると、FooClassは「new」を含むこれらの共有メソッドを取得します。

しかし...それはどのように実装されていますか?

派生クラスFooClassではなくNSObjectのインスタンスをインスタンス化するだけなので、単純に基本クラスに委任することはできませんが、それでも機能します。では、誰かが似たようなものをどのように書くのでしょうか?

言い換えれば、基本クラスはこれであってはなりません...

むしろこれ...

...ここで、「SomethingThatMapsToFooClassType」は、NSObjectから継承し、共有メソッド「somethingLikeNew」を取得する必要がある派生クラスのタイプです。

基本的に、NSObjectからカテゴリを追加し、タイプを知る必要のあるメソッドを共有しましたが、実装はすべて汎用であるため、クラスファイルのすべての場所ではなく、NSObjectのカテゴリに分類されます(同じ方法で)あちこちに「新しい」というものはありません。ただそこにあります。)

誰?ビュラー?ビュラー?

M

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

c++ - Windowsで.soと.dllの両方を使用する

私はC++のWindowsでプログラムを書いています。このプログラムでは、ユーザーはダイナミックリンクライブラリ(Windows)または共有オブジェクトファイル(Linux)の形式で拡張機能をコンパイルできます。

Windowsでは、このLoadLibrary関数を使用してdllをロードします。Windowsの.soファイルに対して同じことを行うことは可能ですか?その逆も可能です。Linuxに.dllをロードすることはできますか?

0 投票する
5 に答える
77608 参照

git - UNIX グループによって共有されるように既存の git リポジトリを構成する方法

この時点まで私だけが書き込み可能だった既存の git リポジトリ (裸のリポジトリ) があります。foo のすべてのメンバーがプッシュできるように、UNIX ユーザーグループ foo に公開したいと考えています。次のコマンドを使用して、新しいgit リポジトリを簡単にセットアップできることを認識しています。

しかし、既存のリポジトリディレクトリに対して同等の操作が必要です。