- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 LD_PRELOAD 文件。在什么操作系统和条件下,我应该编译这个预加载以在大多数系统 (Unix/Linux) 上工作。最想要的是 FreeBSD、Ubuntu、CenstOS、Solaris。
谢谢!
最佳答案
您需要将其编译成共享库。以下是我通常如何编译我的:
libt.so: t.lo
g++ -fPIC -O3 -W -Wall -shared -Wl,-export-dynamic -o $@ $^ -lc
t.lo: t.cc
g++ -c -fPIC -O3 -W -Wall $^ -o $@
然后要使用它,请在启动该文件之前将库添加到 LD_PRELOAD 环境变量。如果您从 bash
命令行这样做:
LD_PRELOAD=libt.so executable_name -and args
然后,它只会为该命令行运行设置它,而不会影响您之后启动的任何其他程序。
关于c++ - 如何为大多数系统编译 LD_PRELOAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10995670/
我的代码如下:preload.c,内容如下: #include #include int __attribute__((constructor)) main_init(void) {
我尝试使用 LD_PRELOAD 来 Hook sprintf function ,所以我将打印到缓冲区的结果: #define _GNU_SOURCE #include #include int
实际问题 我有一个默认情况下使用 EGL 和 SDL 1.2 分别处理图形和用户输入的可执行文件。使用 LD_PRELOAD ,我已经用 GLFW 替换了两者。 这正常工作,除非用户安装了 GLFW
我用 C 代码编写二进制文件。如何防止其他用户在我的二进制文件上使用 LD_PRELOAD? 使用LD_PRELOAD时,是否有任何信号可以让我处理并中断程序? 如果我静态编译二进制文件,我听说 LD
我用 C 代码编写二进制文件。如何防止其他用户在我的二进制文件上使用 LD_PRELOAD? 使用LD_PRELOAD时,是否有任何信号可以让我处理并中断程序? 如果我静态编译二进制文件,我听说 LD
这可能会很尴尬: 我在其他项目中使用库预加载,但我无法让这个最小的示例工作: weakref.h: void f_weak() __attribute__((weak)); weakref.c: #i
目前,我有一个应用程序可以: execlp(java_exec、java_args等); 启动 jar 文件。 有没有办法将其前置 LD_PRELOAD="mylib.so" ? 我找不到告诉 exe
我有一个 LD_PRELOAD 文件。在什么操作系统和条件下,我应该编译这个预加载以在大多数系统 (Unix/Linux) 上工作。最想要的是 FreeBSD、Ubuntu、CenstOS、Solar
我有一个用 C 编写的客户端和一个服务器。为了保护我实现的连接: 我自己连接并接受 Diffie-Hellman key 。 我自己发送和接收,以便使用 AES 加密流量。基本上,我用数据加密缓冲区并
我在 Google 的 tcmalloc 上看到了这条建议文档页面。 You can use TCMalloc in applications you didn't compile yourself,
在 Ubuntu 16.04 系统上,一直在尝试将 ld_preload 与自定义编译的 libpcap.so 一起使用并运行 tcpdump。 编译 libpcap (1.8.0) ./config
我正在尝试 LD_PRELOAD 一个声明如下的函数 // header1.h typedef enum { ... } enum1; // header2.h typedef enum { ...
我们有一个在嵌入式 powerpc 上运行的用 g++ 编译的多线程 c++ 应用程序。为了在持续集成测试中对此进行内存泄漏测试,我们创建了一个使用 ld_preload 加载的堆分析器。 我们想保证
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
是否可以使用 LD_PRELOAD 覆盖其中一个 linux 内核函数? 例如,我想在 Linux/net/ipv4/syncookie.c 中为我的程序 fooserver。我可以使用 LD_PRE
我编写了 LD_PRELOAD 模块,我的所有源代码都在 source.cpp 中,但现在我需要添加 crypt.cpp 文件以及我需要的一些类,如何使用多个 .cpp 文件通过 g++ 编译 LD_
我有这个小测试代码atfork_demo.c: #include #include void hello_from_fork_prepare() { printf("Hello from
我有我的 .so 库,我将它注入(inject)到我的 Ubuntu 服务器上的各种进程中。但是我找到了我用常规命令启动的二进制文件: LD_PRELOAD=/home/glinkd/preload3
我需要在 Linux 中记录所有终端命令。我在 C 中找到了正确工作的库,但它仅在我运行 LD_PRELOAD=/usr/local/bin/bashpreload.so/bin/bash 时有效:
操作系统: Ubuntu 16.04 64 位 python : 2.7.12 我有一个非常简单的 Python 程序,它只加载了两个库 libhidapi-hidraw 和 libpcProxAPI
我是一名优秀的程序员,十分优秀!