0

共有ライブラリを実行すると、実行されました。main()プログラムなしでこれはどのように起こりましたか?実行を開始するためのエントリポイントは何ですか?

ubuntu@ubuntu:~$ /lib/i386-linux-gnu/libc.so.6

GNU C Library (Ubuntu EGLIBC 2.15-0ubuntu10) stable release version 2.15, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.6.3.
Compiled on a Linux 3.2.14 system on 2012-04-19.
Available extensions:
    crypt add-on version 2.1 by Michael Glad and others
    GNU Libidn by Simon Josefsson
    Native POSIX Threads Library by Ulrich Drepper et al
    BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.debian.org/Bugs/>.
ubuntu@ubuntu:~$ 
4

2 に答える 2

3

共有ライブラリには、機能を持つ機能がありmain()ます。ほとんどの人が持っていないというだけです。

于 2012-06-30T09:26:09.937 に答える
3

GNUリンカを使用していると仮定すると、オプション付き-e entry(または--entry=entry長いオプション表記)でエントリポイントを指定できます。

を介して間接的にリンカーを呼び出す場合はgcc、を使用します-Wl,-e,entry

于 2012-06-30T09:39:53.960 に答える