問題タブ [shared-libraries]

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

dll - Unix および Windows での DLL のアンロード順序

AとBの2つのdllがあります。

dll A のコードから、dll B を動的にロードしています (Unix では dlopen を、Windows では LoadLibrary を使用)。B が A の前にアンロードされることは保証されていますか?

Unix と Windows の動作に違いはありますか?

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

linux - 共有ライブラリの Makefile?

次のような共有ライブラリを構築するための Makefile を作成しました。

これが一般的な操作のように思われる場合は、明示的なアクションを実行することを避けたいのですが、これを標準化するための暗黙のルールやその他の組み込み機能はないようです。現在 Linux で GNU Make を使用していますが、OS X でも動作させるにはこれが必要です。

編集: コンパイラ/リンカー フラグではなく、make ルールについて質問しています。

共有ライブラリを構築するためのクリーンで再利用可能な Makefile ルールを推奨できますか? おそらく%.so:or.c.so:型のルールでしょうか?

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

c - 複数の .so 共有ライブラリをマージする

a.so と b.so があるとします。a と b によってエクスポートされたすべての関数を含む単一の共有ライブラリとして c.so を生成できますか?

私は試した

しかし、うまくいきません。

aa と bo を aa と ba (これは ao と bo を変更すべきではありません) にアーカイブして、

ありがとう

0 投票する
9 に答える
8112 参照

dll - DLLを使用することの長所と短所は何ですか?

WindowsはまだDLLを使用しており、MacプログラムはDLLをまったく使用していないようです。どちらかの手法を使用することのメリットまたはデメリットはありますか?

プログラムのインストールに必要なすべてのDLLが含まれているため、100%正常に機能する場合、すべてのライブラリを静的にリンクするのと同じでしょうか。

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

linux - nmはシンボルを報告しますが、lddはシンボルを報告しません

リンクに問題があります。read.cファイルで自分自身を定義したいlibfoo.so関数に依存する共有ライブラリに対してリンクする必要があります。read

すべてをコンパイルしてリンクしますが、実行時にエラーが発生します

nmは、シンボルが定義されていることを報告します

しかし、lddはシンボルが未定義であると報告します

何が得られますか?libfoo.soが共有ライブラリであるという事実にいくつかの問題がありますか?

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

c++ - Linux共有ライブラリc++

私は共有ライブラリwise.soを持っています。プログラムでどのように使用できますか?そのライブラリのヘッダーを含める必要がありますか?

私はLinuxでEclipceを使用しています。-Lと-lを使用してライブラリへのパスを設定しました。しかし、私の関数はプログラムに表示されません。

共有ライブラリの仕組みを教えてください。

よろしく。

編集:

次のエラーが発生します。

ヘッダ:

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

c++ - 共有ライブラリ関数への未定義の参照

Linuxに共有ライブラリを実装してテストしようとしましたが、「 `CEDD(char *)'への未定義の参照」というエラーが表示されます。

私は次のパラメーターでEclipseを使用しています。

  • ファイルを含めるためのパス(これですべて問題ありません)
  • ライブラリへのパスとその名前。パスは正しく、名前はWISE_C(フルネーム:libWISE_C.so)です。

私のコード:

私がテストに使用するテストプログラム:

ヘッダー記述子.h:

望ましい機能を持つDescriptor.cの一部:

私は何をしているの?私はインターネットでたくさんの記事を集めましたが、解決策が見つかりませんでした。

`CEDD(char *)'への未定義の参照は、コンパイラまたはリンカのエラーですか?

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

c++ - Eclipseを使用したCプログラミング(ライブラリの謎)

ライブラリをプログラムに接続すると、Eclipseは実行可能ファイルを生成せず、オブジェクトファイルのみを取得します。ライブラリをプログラムから切断すると(すべてのパスとライブラリ関数を削除)、実行可能ファイルを取得します。

ただし、最初のケースではエラーは発生しません。

何が問題になっていますか?

私が使用しているのは、Linux、C、Eclipseです。

ログ:

****プロジェクトWise_test_Cの構成デバッグのビルド****

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

svn - 多くのプロジェクトで必要とされるライブラリの扱い方 (+ svn)

おはようございます!

VS-Solution を保持する SVN-Repository があります。このソリューションには多くの Web プロジェクトがあり、それぞれが追加のプロジェクトで開発された JavaScript-Lib を使用しており (これを と呼びましょうDemoWeb)、他の Web プロジェクトに手動でデプロイされます。
この構成には多くの欠点があります。

  1. デプロイ時にコピー先のプロジェクトを忘れることがあります。
  2. 一部のファイルを見逃す可能性があります
  3. SVN-Repository に同じ .js ファイルが数回あります
  4. ...

シナリオ (同じライブラリを使用する多くのプロジェクト - JavaScript、.dll ファイル、画像など) は非常に一般的
だと思います。
このデメリットをどう解消するか。
VS で IntelliSense の参照を失わないようにするにはどうすればよいですか (例: CssClass-Checking)?