小编com*_*fan的帖子

什么时候需要curl_global_init()?

虽然它的文件说这个函数是必须的,但我看到了两个例子,一个有它,另一个没有.

http://curl.haxx.se/libcurl/c/persistant.html

http://curl.haxx.se/libcurl/c/multi-app.html

这项功能是否必要?

c curl

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

了解ldd输出

怎么ldd知道它取决于libc.so.6,不是libc.so.5libc.so.7

libc.so.6 => /lib64/libc.so.6 (0x00000034f4000000)
/lib64/ld-linux-x86-64.so.2 (0x00000034f3c00000)
Run Code Online (Sandbox Code Playgroud)

linker ldd

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

什么是intptr_t,它是整数或指针的类型吗?

它定义于/usr/include/stdint.h:

typedef long int                intptr_t;
Run Code Online (Sandbox Code Playgroud)

它应该是整数或指针的类型吗?

c linux

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

如何使用信号调试程序?

#include <stdio.h> 
#include <signal.h>

static volatile sig_atomic_t being_debugged = 1;
static void int3_handler(int signo) { being_debugged = 0; }

int main()
{
        signal(SIGTRAP, int3_handler);
        __asm__ __volatile__("int3");
        if (being_debugged) {
        puts("No, I don't want to serve you.");
                while (1) {
            /* endless loop */ ;
        }
        }
        puts("Yes, real routines go here.");
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

当在gdb内部/外部运行时,上面将给出不同的输出,因为gdb捕获sigtrap信号.

如何让我的程序在gdb中表现相同?

gdb signals

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

那么exit()如何工作?

如果我使用exit(),GCC不会发出警告:

int main()
{
    exit(EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

如果我们使用任何其他功能,我们肯定会遇到这样的警告:

warning: control reaches end of non-void function
Run Code Online (Sandbox Code Playgroud)

如何在exit()不使用return()编译器的情况下使父函数获得其返回值?

c exit

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

字节序只会影响数字的内存布局,而不影响字符串吗?

无论架构是大端还是小端,只有数字的内存布局不同,字符串的布局是相同的,这是真的吗?

endianness

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

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

为什么我不能在gdb中打印出环境变量?

#include <unistd.h>
#include <stdio.h>

extern char **environ;
int main(int argc, char *argv[]) { 
  int i = 0;
  while(environ[i]) {
    printf("%s\n", environ[i++]);
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

(gdb) n
8       printf("%s\n", environ[i++]);
(gdb) p environ[i]
Cannot access memory at address 0x0
(gdb) n
LOGNAME=root
7     while(environ[i]) {
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,printf可以打印出来environ[i],但是p environ[i]给了我Cannot access memory at address 0x0,为什么?

c linux gdb environment-variables

8
推荐指数
2
解决办法
6286
查看次数

如何用curl做keepalive http请求?

如何在同一连接中从同一Web服务器请求多个页面?

因此客户端需要为每个请求提取响应,当然服务器的工作就是按照请求的顺序进行响应.

谁知道诀窍?

c curl http keep-alive

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

这两个语句在perl中是否总是相同的?

$obj->SUPER::promote();

$obj->SUPER->promote();
Run Code Online (Sandbox Code Playgroud)

谁知道他们是否一样?

oop perl

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

标签 统计

c ×5

curl ×2

gdb ×2

linux ×2

endianness ×1

environment-variables ×1

exit ×1

http ×1

keep-alive ×1

ldd ×1

linker ×1

oop ×1

perl ×1

php ×1

post ×1

signals ×1