GNU/Linux >> Linux の 問題 >  >> Linux

シンボルが存在するにもかかわらず、dlsym が NULL を返す

dlsym、あなたにはそれができないと思います エクスポートされたシンボルで機能します。 dlsym をしているからです NULL に (現在のイメージ)、シンボルは実行可能 ELF イメージに存在しますが、エクスポートされません (共有ライブラリではないため)。

それを直接呼び出して、リンカーに任せてみませんか? dlsym を使用しても意味がありません dlsym と同じ画像からシンボルを取得するには 電話。 testing の場合 シンボルは、リンクしたか、dlopen を使用してロードした共有ライブラリにありました

実行可能ファイルをビルドするときにシンボルをエクスポートする方法もあると思います (-Wl,--export-dynamic ブランドンのコメントで述べたように)しかし、なぜそれをしたいのかわかりません。


Linux
  1. Ls -fによって表示される記号は何を意味しますか?

  2. ZshのPs1の改行記号は何ですか?

  3. MySQL レプリケーションにおける「システム ユーザー」の目的は何ですか

  1. nm :オブジェクト ファイル内のシンボルを一覧表示するコマンド。

  2. Linux、グループ権限があるのに書き込めないのはなぜですか?

  3. バックグラウンドでアプリケーションの出力を /dev/null にリダイレクトする方法

  1. ヌル文字列を使用して個々の文字を分割しますか?

  2. あるのにデバイスにスペースが残っていませんか?

  3. コマンドラインでの < /dev/null &の使用