小编Med*_*ine的帖子

poll 系统调用是否知道远程套接字是否关闭或断开连接?

int rc = poll(fds, 1, -1); 假设远程对等点出现故障。套接字在这里中断。在这种情况下,poll 系统调用将返回 -1 或将返回 > 0 并将断开连接报告为 FD 上的错误事件。

另外,轮询在 0 超时时会返回什么。int rc = poll(fds, nfds, 0);

c sockets network-programming tcp polling

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

指向矢量元素的指针崩溃

    vector<int> v;
    v.push_back(1);
    int * p = &v[0];
    for (int i = 2; i <= 100; ++i)
    {
        v.push_back(i);    
    }
    *p = 5;
Run Code Online (Sandbox Code Playgroud)

我知道向量重新分配了新的内存来增加容量,但是p只是一个指向某个内存地址的指针,而p本身并没有改变.即使在向量重新分配之后,p指向的内存也在同一进程的地址空间中.为什么会崩溃?

c c++ linux stl segmentation-fault

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

C - 字符数组初始化

如何在下面的情况2,3,4,5中进行初始化.1将包含垃圾.

char x[16];
char x[16] = {0};
char x[16] = {0, };
char x[16] = {1};
char x[16] = {1, };
Run Code Online (Sandbox Code Playgroud)

c c++ arrays struct initialization

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

多线程 - 在一个线程中增加整数,在另一个线程中减少

在一个多线程程序中,2个线程 - 线程1 - 将运行一个循环,增加整数变量1000次然后退出线程2 - 将运行一个循环,减少整数变量1000次然后退出

两个线程都在信号量上等待并且大致同时启动,并且计划在大约相同的时间在不同的核上运行.

两个线程退出后,整数变量的值是否为零?注意:不使用锁定(互斥等)

让我们假设linux和x86架构以及多核硬件.

如果将相同的整数声明为volatile(C++),会发生什么?

c++ linux multithreading locking multicore

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