15得票4回答
什么时候使用setsid(),或者为什么我们需要在Linux中组合进程?

我已经尝试了man(3) setsid,但是它只解释了如何使用它,我不太明白setsid什么时候有用? 我想知道setsid在什么情况下有用,因为man(3) setsid只解释了如何使用它。

12得票5回答
如何确定已分配的C缓冲区的大小?

我有一个缓冲区,并且想要进行测试,以查看缓冲区是否具有足够的容量,即找出我可以添加到该缓冲区的元素数量。char *buffer = (char *)malloc(sizeof(char) * 10); 执行以下操作:int numElements = sizeof(buffer); 不返回...

7得票1回答
Linux用户级(pthread)线程是否在多个核心上运行?

我知道有以下内容: 1)用户级线程 - 在进程的同一地址空间中,但具有不同的堆栈。 2)内核级线程 - 在内核内存堆栈中(我猜测在这里)。 因此,当我创建用户级线程时,内核不知道它们 [1]。那么内核如何知道如何在不同的核心中安排不同的用户级线程?这个问题涉及到pthread。如果pth...

8得票1回答
在mpi中定义全局变量

我写了下面的示例代码: #include <stdio.h> #include <mpi.h> double x; int main (int argc, char **argv) { MPI_Init(&argc, &argv); ...

8得票4回答
“bind()” Unix 域套接字客户端进程有什么作用?

当使用AF_UNIX(Unix域套接字)时,是否有在从未调用listen()的进程中调用bind()的应用程序? 在我的系统编程讲座和实验中,我们被指示在Unix域套接字客户端进程上调用bind()。在仅客户端Unix域套接字进程上调用bind有没有任何已记录、未记录或实际应用?据我所知,b...

11得票8回答
你如何对你的代码进行性能分析?

希望不是每个人都在使用 Rational Purify。 那么当您想要测量以下内容时,该怎么办: 函数所花费的时间 峰值内存使用量 代码覆盖率 目前,我们是手动实现的[使用带有时间戳的日志语句以及另一个脚本来解析日志并输出到 Excel。 真费劲..) 您会推荐什么呢? 指向工具或...

10得票2回答
使用g++编译器时,若未使用-Wconversion参数将double/float转换为无符号整数,则会出现警告。

可能是重复问题: g++ -Wall not warning about double-> int cast 根据这里的问题,从double/float到unsigned integer的直接转换并不可移植。我发现在我的代码中有一些情况会出现这种情况,我想告诉g++如果...

17得票4回答
使用stdin识别箭头键

是否有一种跨平台的方式来处理C或OCaml程序中的退格和箭头键? 实际上,我希望提供一个OCaml解决方案,但许多标准Unix函数直接封装为相应的API调用,因此在移植C解决方案时不应该有问题。 我的目的是捕获箭头键以覆盖其在shell内的行为(通过重新提示最后一行或进行类似操作)。我认为...

153得票5回答
如何在Linux上为gcc编写一个简单的makefile?

我有三个文件:program.c,program.h和headers.h。 program.c包括program.h和headers.h。 我需要在Linux上使用gcc编译器将其编译。我不确定如何做。Netbeans为我创建了一个项目,但它是空的。

95得票16回答
一元加运算符的作用是什么?

一元加运算符的作用是什么?我找到了几个定义(这里和这里),但我仍然不知道它可以用来做什么。看起来似乎没有任何作用,但肯定有理由使用它,对吧?