ld

    0

    1答えて

    私には3つのライブラリlibMissingSymbol.so、libMiddle.so、およびlibSymbolHaver.soがあるとします。 libMissingSymbolには、libSymbolHaverで定義されたシンボルが含まれていますが、libMiddleにのみ依存しています。 libMiddleはlibSymbolHaverに依存するはずですが、そうではありません。私は、これらのラ

    0

    1答えて

    私の手作りのビルドシステムでは、多くのファイルを作成します。.a私はこれらを1つの最終画像にリンクしたいと考えています。 ldは、これらがライブラリであることを当然想定しているため、空のイメージを出力として生成するシンボルは何も連結していません。 ldはこれらをオブジェクトファイルのグループとして扱うことができますか?

    0

    1答えて

    グローバル変数を持つC静的ライブラリがあります。 私の目標は、ライブラリからのグローバル変数がそのプログラムで使用されるときは常に、コンパイル時にメッセージをユーザーに出力することです。 変数を__attribute__((deprecated))とマークしようとしました。しかし、-Werrorが設定されていても、ユーザーがビルドできるようにする必要があります。 したがって、私は#pragma G

    1

    1答えて

    以下のコマンドで32ビットのasmプログラムをコンパイルしようとしています。 as --32 select.s -o main.o ld -m elf_i386 -I/lib/ld-linux.so.2 -lc main.o -o main 出力:次のgccコマンドを使用して In function _start': (.text+0x21): undefined reference to

    1

    1答えて

    共有ライブラリを別の共有ライブラリにリンクするときや共有ライブラリとバイナリをリンクするときに、gccリンカの仕組みや状況がどのように違うかを理解するのに少し苦労しています。私はUbuntu 16.04.1 LTS、gcc 5.4.0、およびld 2.26.1を使用しています。 いくつかのCソースファイルで実行される一連のコマンドの2つのセットです。 シーケンス1: - [email protec

    1

    1答えて

    ld --gc-sectionsコマンドラインフラグを無視しているようだ:私はGNUを使用してい $ cat gcs.c extern void magic(void); void callmagic(void) { magic(); } int uanswer = 42; int main(void) { return 0; } $ cat ofbin.scr OUTPUT_FORMAT(bin

    0

    1答えて

    リンカスクリプトまたはマップファイルを使用してシンボルの名前を変更することはできますか? 私はC++とFortranの組み合わせで書かれたコードを、複数のFortranコンパイラ(Linux上で動作するように)に適応させようとしています。これは現在、大文字と小文字を区別するためのオプションを有効にしてSolaris Studioコンパイラ用に作成されています。私はFortranシンボル名のマングリ