問題タブ [mach-o]
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.
ios - LC_LOAD_DYLINKER と IOS のカスタム リンカー
Mach-O ファイルでサポートされている LC_ コマンドのリストを調べているときに、使用するダイナミック リンカーを指定する LC_LOAD_DYLINKER コマンドに気付きました。
IOS では、これは常に同じ場所 (デバイスの標準 DYLD) を指しているようです。
このコマンドを使用して、IOS でカスタム リンカーがサポートされているかどうかに興味がありました。サポートされている場合、それを作成するためのガイドラインはありますか? 誰もこれを以前にやったことがありますか?
objective-c - Apple Mach-Oリンカー(Id)エラーと到達可能性
到達可能性を使用するプロジェクトをビルドしようとすると、このエラーが発生し続けます(到達可能性を実装しようとした後にのみエラーが発生しました):
インターネットで他の投稿をいくつか読みましたが、何も機能していないようです。SystemConfiguration.framework(プロジェクト、ビルドフェーズ、+)を追加しましたが、機能しませんでした(エラーが発生したときにすでに追加していました)。ファイルを実装する方法は次のとおりです。
次に、.mで:
だからあなたが助けることができればそれは素晴らしいでしょう!ありがとう;)ルーク
linker - dyld インポートされたシンボルを解決するにはどうすればよいですか?
私は dyld が行うことのいくつかの部分を実装しようとしていますが、スタブ トランポリンで少し立ち往生しています。
次の ARM 命令を考えてみましょう。
0x2fecへのリンク(サブプロシージャコール)で分岐します。0x2fd8 で始まる __TEXT セグメントにセクション __symbolstub1 があることを認識しているため、__symbolstub1 内の 20 バイトにジャンプします。
今、シンボルがあります
LC_SYMTAB ロード コマンドで解決しました。提供された既知のアドレスはありません。実際、0x2fec アドレスが _objc_autoreleasePoolPush のトランポリンであることはわかっていますが、それを証明することはできません。
私は LC_DYLD_INFO_ONLY コマンドをチェックしましたが、私が見つけた lazy_bind シンボルで、そこにわずかなヒントがありました:
ここで、名前とオフセットは私が持っているものと正確に一致し、ライブラリ #6 は「/usr/lib/libobjc.A.dylib」であり、これも完璧です。ここでの問題は、セグメント #2 が __TEXT であるということですが、__TEXT は 0x1000 から始まり、__symbolstub1 は 0x2fd8 のはるか下にあります。そのため、セクションへの参照が欠落しています。
0x2fec 仮想アドレスを _objc_autoreleasePoolPush にマップする方法についてのアイデアはありますか?
macos - OS-X 上の GNU リンカー - GAS
私はいくつかの「フリースタンディング」( OSなしで直接実行されるプログラムの名前は何ですか? )コードを書こうとしていますが、OS-Xリンカがリンカスクリプトまたはフラットバイナリ出力をサポートしていないことを見て、私はそれを想定しています代わりに GNU リンカーを使用することをお勧めします。
GCC を使わずに GNU リンカだけをインストール/コンパイルする方法はありますか?
コンパイルされた GNU リンカは、OS-X バージョンの GAS アセンブラによって出力されたオブジェクト ファイルを理解できますか?
リンカーをコンパイルできない場合、GCC をコンパイルする最良の方法は何ですか?
注: パッケージ システムを使用するのではなく、コンパイルしたい。
xcode - ld: -lFlurryWithLocation のライブラリが見つかりません
仕事のためにSVNから古いプロジェクトをチェックアウトしたところ、ビルドしようとしたときに6つのエラーが発生しました。そのうちの 2 つを解決できません。1 つ目は Flurry ライブラリに関するものです。
ここにエラーがあります:「アプリ購入APPNAMEの名前を置き換えました」
誰か助けてくれませんか..?もうわからない..
ios - Apple Mach-O リンカ エラー (5)
プロジェクトをビルドしようとすると ( IFUnicodeURLとJSONの両方が含まれます)、これらの 5 つの Mach-O エラーが発生し続けます。
アーキテクチャー armv7 の未定義シンボル:
これらのことの読み方がわからず、頭がおかしくなりそうです。誰でも私を助けてもらえますか?どんな助けでも大歓迎です。前もって感謝します。
macos - dylib内の編集可能/パッチ可能なリソース?
ビルド後に編集できるように、Mach-O dylib内にリソース(文字列/画像など)を埋め込む方法はありますか?PEファイルのリソースに似ています。
代わりにバンドルを使用する必要があることはわかっていますが、ユーモアを交えてください;-)
c++ - Xcode でコンパイルしようとすると Mach-O エラーが発生する
Xcode で C++ プログラムを作成していますが、アプリをビルドして実行しようとすると Mach-O エラーが発生し続けます (さらに、「ビルドに失敗しました」というエラー メッセージが表示されます)。以下は私が使用しているコードです:
エラーメッセージは次のようなものです。
xcode - /usr/include/mach-o/loader.h はどこから来たのですか?
私の Mac OS X システムには /usr/include/mach-o/loader.h があるものとないものがあるようです。このファイルはここに文書化されているため、私は混乱しています:
例えば:
このファイルが新しいバージョンの Mac OS X で削除されたかどうか知っている人はいますか? または、それを取得するために特別な SDK をインストールする必要がある場合は?