問題タブ [dlsym]
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.
c - `dlsym' への未定義参照 C を学ぶ難しい方法
単体テスト ファイルをコンパイルしようとすると、'dlsym への未定義参照' エラーが発生します。Unix システム (私は Ubuntu 12.04 を使用しています) で -ldl をコンパイラに追加すると動作することを読みましたが、Zed の Shaw Makefile を使用しようとしましたが、まだ何も起こりませんでした。これはコードです:
そして、レコードのエラー:
私が言ったように、「-ldl-」をCFLAGS、SO_TARGET変数に追加しようとしましたが、私の分析によれば、これは役立つかもしれませんが、何も変わりませんでした。
c++ - dlsym() は「シンボルが見つかりません」を返します
OS X 10.7 (Lion)、XCode 4.6.3、libstdc++ を C++ 標準ライブラリとして使用しています。
メインプロジェクトに次のコードがあります。
共有.cpp:
そして、これは私のサイドプロジェクトで、メインのものを動的にロードする必要があります:
ローダー.cpp:
nm 出力:
dlopen はライブラリを問題なくロードしますが、dlsym は「symbol not found」を返します。何か案は?
ありがとう。
android - ライブラリが見つかりません CodeSourceryツールチェーンを使用して実行可能なAndroidをリンクできません
Android デバイス用の AC プログラムを作成しようとしています。dlopen と dlsym を使用して、共有ライブラリ内の関数を開きます。arm-none-linux-gnueabi でコンパイルしています。私の helo.c プログラムは次のようになります。
helo.c
この方法でコンパイルしています:
しかし、自分のデバイスで実行しようとすると、このエラーが発生します
何か案が
c - dlsym() でのエラー: ./dynlibrary: 未定義のシンボル: メソッド
私には解決できない問題があります。これまでに見つけたものをすべて調べました。私の問題は、プログラムで dyn ライブラリを作成し、それを dlopen して、そのライブラリからメソッドを dlsym したいということです。
dlopen は機能しているようですが、dlsym はエラー " undefined symbol: method "を返します。
「メソッド」は、dlsym に渡したメソッドの名前です。
ライブラリを作成する方法は次のとおりです。
と:
コードを実行した後にライブラリがあるため、これは機能するはずです。
次のようにライブラリを開きます。
これらの関数を次のように呼び出します。
編集: userinput.c のコードは次のとおりです。
私のプログラムで生成され、実行中のプログラムでコンパイルおよびリンクされます
dynamic-loading - dlsym によって返されるクラス型で静的メソッドとフィールドにアクセスする
dlsym によって返されるクラス型で静的メソッドとフィールドにアクセスできますか?
元:
;
macos - `__NSAutoreleaseNoPool` アドレスを取得するにはどうすればよいですか?
で試しました
ただし、リンク時に未解決のシンボルが発生します(ただし、どのフレームワークが必要かはわかりません)。
私も試しました
しかし、それは be を与えるだけNULL
です。
_dyld_lookup_and_bind
そして、私はandを試しましNSLookupSymbolInImage
たが、それらも機能しません。
dsymutil
ただし、nm
両方ともシンボルを見つけます。
(これは MacOSX 10.6 にあります。それ以降の MacOSX バージョンでは、シンボルは実際には存在しないようです。少なくとも、grep
in/usr/lib
を介して参照を見つけることができず/System/Library/Frameworks
、LLDB もそれを見つけられません。おそらく、ARC で何らかの形で削除されました。)
では、コードでそのアドレスを取得するにはどうすればよいでしょうか?
(これを行う私の動機はここにあります。)