小编Pie*_*ier的帖子

流程的退出状态如何取决于它是否是静态构建的?

现代系统:

% pacman -Q glibc gcc
glibc 2.16.0-4
gcc 4.7.1-6
% uname -sr
Linux 3.5.4-1-ARCH
Run Code Online (Sandbox Code Playgroud)

一个简单的程序:

% < wtf.c   
void main(){}
Run Code Online (Sandbox Code Playgroud)

让我们做静态和动态构建:

% gcc -o wtfs wtf.c -static                               
% gcc -o wtfd wtf.c
Run Code Online (Sandbox Code Playgroud)

一切都很好:

% file wtf?                                             
wtfd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x4b421af13d6b3ccb6213b8580e4a7b072b6c7c3e, not stripped
wtfs: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=0x1f2a9beebc0025026b89a06525eec5623315c267, not stripped
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下吗?

% for n in $(seq …
Run Code Online (Sandbox Code Playgroud)

c gcc libc dynamic-linking static-linking

3
推荐指数
1
解决办法
92
查看次数

标签 统计

c ×1

dynamic-linking ×1

gcc ×1

libc ×1

static-linking ×1