小编fly*_*bin的帖子

我可以通过链接静态库来构建共享库吗?

我有一堆静态库(*.a),我想构建一个共享库(*.so)来链接这些静态库(*.a).我怎么能用gcc/g ++这样做?

c c++ gcc shared-libraries static-libraries

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

为什么我的程序在打开mkfifo-ed管道时会挂起?

我使用mkfifo来创建一个命名管道.然后我使用以下程序打开它.但是,该程序挂起在"fopen"行.这里有什么问题吗?

int main(int argc, char** argv) {
char* line = "hello, world!";
FILE* fp = fopen("/tmp/myFIFO", "rw");
fprintf(fp, line);
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ mkfifo

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

在信号处理程序中,如何知道程序中断的位置?

在x86(64位或32位)Linux上 - 例如:

void signal_handler(int) {
   // want to know where the program is interrupted ...
}

int main() {
    ...
    signal(SIGALRM, signal_handler);
    alarm(5);
    ...
    printf(...); <------- at this point, we trigger signal_handler
    ...
}
Run Code Online (Sandbox Code Playgroud)

在signal_handler中,我们怎么知道我们在main()的printf中被中断了?

c c++ linux signals interrupt

11
推荐指数
1
解决办法
2235
查看次数

如何知道TCP连接是否在同一台机器上的两个进程之间?

使用套接字编程API(例如,socket(),connect(),accept()...),我怎么知道TCP连接是否在同一台机器上的两个进程之间?说,我有套接字文件描述符和远程ip.我可以简单地检查远程IP是否为127.0.0.1?

c c++ sockets tcp

10
推荐指数
2
解决办法
1231
查看次数

编程方式列出Linux上的共享库依赖

是否有任何编程方式(系统调用?)列出Linux上的共享库依赖?而不是使用ldd......

linux linker shared-libraries dependency-management

7
推荐指数
1
解决办法
2796
查看次数

使用__sprintf_chk()禁用

我观察到一个c ++程序使用sprintf,这个sprintf隐式调用__sprintf_chk().这__sprintf_chk()似乎通过检查堆栈帧来检查缓冲区溢出.

为了我的研究目的,我想知道是否可以禁用__sprintf_chk()

c c++ printf fortify-source

5
推荐指数
2
解决办法
4014
查看次数

在最近的Linux上执行进程堆栈中的代码

我想使用ptrace在正在运行的进程的堆栈中编写一段二进制代码.然而,这导致分段故障(信号11).

我可以确保%eip寄存器存储指向我想在堆栈中执行的第一条指令的指针.我想有一些机制可以保护堆栈数据不可执行.

那么,有没有人知道如何禁用这种堆栈保护.具体来说,我正在尝试Fedora 15.

非常感谢!


阅读完所有回复之后,我尝试了execstack,它真正使堆栈中的代码可执行.谢谢你们!

linux stack

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

IP地址和端口号是否可以唯一地标识进程ID?

IP地址和端口号是否可以唯一地标识进程ID?

我正在寻找一种方法来获取相应的进程ID,给定一个IP地址和一个端口号,但我不确定这些ip/port对是否可以唯一地识别一个pid.

c c++ sockets udp tcp

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

是否有可能malloc()分配一个缓冲区,该缓冲区与使用mmap()分配的另一个缓冲区重叠?

我计划使用mmap()来分配一个接近特定地址的缓冲区.

我担心的是,使用mmap()分配的缓冲区将与malloc()或new运算符(C++)分配的其他缓冲区重叠.可能吗?

c c++ malloc mmap new-operator

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

为什么有些可执行文件没有主要功能?

我"objdump -d"是一个可执行文件,例如/ bin/ls,我发现汇编代码中没有任何主函数.为什么?

objdump

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

如何解码此指令"call*fs:0x334"以了解确切的函数地址?

在运行期间,如何获取寄存器fs中的值并在"call*fs:0x334"中计算目标函数的地址?我可以使用什么样的x86组件?

x86 assembly x86-64 linux-kernel

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