小编Blu*_*lub的帖子

静态链接 libc,可能与否,推荐与否?

我在我的二进制文件中看到这一行:

0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
Run Code Online (Sandbox Code Playgroud)

难道我不应该摆脱它吗?实际上更令人困惑的是,为什么它首先存在,我觉得 gcc 默认编译只在主机上运行的东西有点疯狂。仅仅依赖于一些随机的 libc 是不是非常危险,这些随机 libc 可能位于也可能不在我最终将这个二进制文件复制粘贴到的机器上?我不明白。在 Windows 上,我认为我会收到某种“缺少运行时”错误,该错误的版本控制为我编译它所用的确切运行时,因此,如果我使用特定编译器在 XP 上进行编译,则任何主机也必须安装该运行时。但在 Linux 上我从未听说过这样的情况,或者某处是否有 50 个不同的 libc.so 目录,并且当我的应用程序尝试启动时正确的目录被链接?因为我有一种感觉,Linux 上确实存在 .dll 地狱,但实际情况并非如此。

linux glibc

4
推荐指数
1
解决办法
9458
查看次数

如何运行用户模式的 linux 内核?

我按照这里的步骤在用户模式下成功编译了内核:https : //btrfs.wiki.kernel.org/index.php/Debugging_Btrfs_with_GDB

但是当我./linux以各种方式开始时,它总是给我一个非常相似的错误:

pc@linux-94q0:~/linux-4.11-rc4> ./linux root=/mnt
Core dump limits :
    soft - 0
    hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking environment variables for a tempdir...none found
Checking if /dev/shm is on tmpfs...OK
Checking PROT_EXEC mmap in /dev/shm...OK
Adding 33251328 bytes to physical memory to account for exec-shield gap
Linux version 4.11.0-rc4 (pc@linux-94q0) (gcc version 4.8.5 (SUSE Linux) ) …
Run Code Online (Sandbox Code Playgroud)

btrfs linux-kernel vfs user-mode-linux

2
推荐指数
1
解决办法
700
查看次数

标签 统计

btrfs ×1

glibc ×1

linux ×1

linux-kernel ×1

user-mode-linux ×1

vfs ×1