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

bash:./helloworld_s:そのようなファイルまたはディレクトリはありません。ファイルは明らかにそこにあります

redhat バグ #868662 で説明されているように、推奨されるリンク方法は、以下のように gcc に ld を呼び出させることです。

> gcc -nostartfiles helloworld-lib.o -o helloworld_s -lc

これにより正しいリンクが得られます;

> ldd helloworld_s
        linux-vdso.so.1 =>  (0x00007ffd283bf000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd011b62000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd011f2f000)

そして実行はうまくいきます;

> ./helloworld_s
Hello, world!

ld が存在しない /lib/ld64.so.1 にリンクするのはなぜですか?
これは、Linux だけでなく、一般的なシステムのデフォルト設定であるためです。


Linux
  1. #!/usr/bin/env bash と #!/usr/bin/bash の違いは何ですか?

  2. bashでファイルの絶対ディレクトリを取得するにはどうすればよいですか?

  3. gradlew のエラー:/usr/bin/env:bash:No such file or directory

  1. sys/types.h:そのようなファイルまたはディレクトリはありません

  2. cp:ディレクトリを作成できません:そのようなファイルまたはディレクトリはありません

  3. /dev/sdb:そのようなファイルやディレクトリはありません (ただし /dev/sdb1 などは存在します)

  1. 「/usr/ bin / dirmngr」を修正する方法:そのようなファイルやディレクトリはありません

  2. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  3. Bash =〜正規表現とHttps://regex101.com/?