ld

    4

    3答えて

    linuxローダーは/ usr/bin/ldと言われていますが、通常はgc/g ++を使ってライブラリと実行ファイルをリンクしています。 最後に私が "ld"を手動で使用したのは、Linuxアセンブリを学んだときでした。実行可能ファイルを生成する唯一の方法は.oファイルを使ってライブラリなしで直接実行可能ファイルを生成することです。 gcc/g ++には "ld"の関数ラッパーが含まれていますが、

    2

    1答えて

    私は自分のプロジェクトでライブラリを作成し、一般的に複数のファイルで作業する方法を理解しようとしています。 しかし、ldは "lhello"が見つかりませんでした(libhelloは私のカスタムライブラリです)。しかし、-l:libhello.soを使うとうまくコンパイルされます。 私はその後、--verboseオプションを使用してLDを走り、ここで私が得たものです: [...]のlib/libh

    0

    2答えて

    は、私たちはSTM32F103リンカスクリプトを見てみましょう: /* Entry Point */ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20005000; /* End of 20K RAM */ /* Generate a link error if heap a

    0

    1答えて

    私は小さなOSを構築していますが、NASM、GCC、GNU Binutilsを使ってリンクするプロセスに問題があります。私はこれらのファイルtoghether GCC からドワーフデバッグ情報と ELF32オブジェクトファイルをリンクするとNASMからドワーフデバッグ情報と ELF32オブジェクトファイル: 私はオブジェクトファイルの複数の種類をリンクしていますカスタムリンカスクリプトを使って、デ

    0

    1答えて

    thesequestionsを読んだ後、シンボルの解決順序を制御する方法の詳細を探しています。 私の問題では、主に実行可能ファイルexecがあります。 execは、a.soとc.soに動的にリンクします。 a.soは、b.soに動的リンクします。 b.soは、通常c.soによって提供される機能fooを呼び出しますが、この場合もexecによって提供されます。 b.soは、c.soの実装がfooの場合

    0

    1答えて

    をコンパイルするには、私は、ASMコードを持っています。私は実行可能ファイルを32ビットにします。動的リンクに 私がやる:私が何をしたいか nasm -f elf32 asm.asm ; this gives me asm.o gcc -m32 -Wall -c c_code.c ; this gives me c_code.o ld c_code.o asm.o -melf_i386 -L

    1

    1答えて

    シンボルをdlsymに公開し、静的リンクと動的リンクの間に非表示にする方法はありますか? 私がしたいのは、共有ライブラリまたはプラグインとして変更なしで使用できるオブジェクトファイルを許可することです。オブジェクトファイルがライブラリとして使用可能になる場合、シンボルの衝突を避けなければなりません。残念ながら、これは、プラグインとして使用された場合、プラグインを初期化するために使用する関数の名前は

    0

    2答えて

    テスト目的のために終了するだけのアセンブリプログラムを作成しました。コードは次のとおりです。 section .text _global start _start: mov eax, 1 mov ebx, 0 int 0x80 プログラムは明らかに32ビットです。しかし、私は1 64ビットプロセッサおよびオペレーティング・システムを使用していますので、