小编Duc*_*uck的帖子

有没有什么好的boost :: filesystem替代方案?

是否有任何可移植的c ++库可以与文件系统一起使用?

我知道boost :: filesystem,但我需要知道是否还有其他的.

谢谢!

c++ filesystems boost

21
推荐指数
3
解决办法
9912
查看次数

你有没有在实际工作中使用过boost :: tribool?

tribool让我成为Boost最奇怪的角落之一.与使用枚举相比,我看到它有一些方便性,但枚举也可以轻松扩展,代表3种以上的状态.

你用现实世界的方式使用tribool吗?

c++ boost

18
推荐指数
4
解决办法
8170
查看次数

如何确定商店的实际开发水平,例如C++与C?

我想大多数人都知道我在做什么.你开始一份新工作,并且在扫描代码的第一周左右,你就会发现你正处于另一个C店里,偶尔会出现流或不满的用户定义的课程.你很快就会意识到,你不仅不会学到任何新知识,而且要求你不要使用某些东西只是时间问题,因为没有人理解它们,也无法维持你的工作.

你经常看到一些新技术,StackOverflow,只是意识到,如果你曾经在工作中使用它,你会遇到困惑或烦恼吗?

根据您的经验,这些地方是常态还是例外?

在面试环境中,你如何(或将如何)尝试确定一个群体的复杂程度和对C++的承诺?例如,我曾尝试询问有关公司使用STL,Boost,第三方库等事情的问题,但这似乎只是逐渐接近你曾经在其中找到的现实情况.思考?

c++

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

跟踪pthread调度

我想要做的是创建一些图表,详细说明Linux中(两个)线程的执行情况.我不需要看看线程做什么,只是在它们被安排的时间以及基本的时间线多长时间.

我花了最近几个小时在互联网上寻找跟踪pthreads安排的方法.不幸的是,我发现的两个项目需要内核重新编译(LTTng)或glibc修补(NPTL跟踪工具),这两个我都做不到(大型集中管理系统,我没有sudo权限).

有没有其他方法可以做这样的事情,还是我不得不求助于找到一台我可以修补/重新编译我想要的笔记本电脑?

最好的祝福

PS:我会链接到这两个项目,但该网站不允许我(声誉<10).谷歌在项目名称上的第一个搜索结果是正确的.

linux multithreading trace

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

套接字recv()在MSG_WAITALL的大消息上挂起

我有一个应用程序从服务器读取大文件并经常挂起在特定的机器上.它已在RHEL5.2下成功运行了很长时间.我们最近升级到RHEL6.1,它现在定期挂起.

我创建了一个可以重现问题的测试应用程序.它在100个中挂起约98次.

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/time.h>

int mFD = 0;

void open_socket()
{
  struct addrinfo hints, *res;
  memset(&hints, 0, sizeof(hints));
  hints.ai_socktype = SOCK_STREAM;
  hints.ai_family = AF_INET;

  if (getaddrinfo("localhost", "60000", &hints, &res) != 0)
  {
    fprintf(stderr, "Exit %d\n", __LINE__);
    exit(1);
  }

  mFD = socket(res->ai_family, res->ai_socktype, res->ai_protocol);

  if (mFD == -1)
  {
    fprintf(stderr, "Exit %d\n", __LINE__);
    exit(1);
  }

  if (connect(mFD, res->ai_addr, res->ai_addrlen) < 0) …
Run Code Online (Sandbox Code Playgroud)

c sockets linux networking tcp

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

在mq_send中发送struct

我正在使用POSIX IPC并根据文档 - http://man7.org/linux/man-pages/man3/mq_send.3.html

mq_send()方法只发送char*数据,而mq_recv()只接收字符数据.但是,我想将自定义结构发送到我的msg队列,在接收端,我想获取结构.

示例结构:

struc Req
{
  pid_t pid;
  char data[4096];
}
Run Code Online (Sandbox Code Playgroud)

那么,有谁知道如何在C lang中实现这一目标?

c linux posix ipc mqueue

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

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

试图仅仅在c ++中模拟Matlab"独特"函数

我有以下向量,v = [ 9 2 9 5]以及它的唯一元素c = [2 5 9]按升序排列.我想提取矢量u = [3 1 3 2].所述u载体含有在载体中的独特元素的索引c,以便重构矢量v.

我的想法是迭代v,并借助于基于唯一值构造的哈希表c来获得索引值.这有意义吗?如果是的话,你能不能请一个人提出建议c++?其他建议受到高度赞赏(我对高效实现感兴趣,因为vc矩阵足够大).

最好的问候,透特

c++ matlab

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

你知道一个心理设备或技巧来学习运算符优先级和关联性吗?

这是与我的侄子朋友的对话,他是来自大学的家.就个人而言,除了最常用的那些之外,我从未发现它非常重要,只是使用括号.但我不必参加他的考试.有什么聪明的吗?

编辑嘛,这是一个几乎一致的SO!如果只有教授听了.

c c++

3
推荐指数
2
解决办法
763
查看次数

find命令的"exec"功能可以在后台启动程序吗?

我想做的事情如下:

find . -iname "*Advanced*Linux*Program*" -exec kpdf {} & \;
Run Code Online (Sandbox Code Playgroud)

可能?还有其他可比的方法吗?

unix linux bash

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

让孩子们等待,直到收到父母的信号

我想从父母那里创造N个孩子.我希望所有的孩子同时开始(一个功能 - 测量时间).所以我把函数放在一个信号处理程序中,当父完成创建(fork)所有子节点时,它会向所有子节点发送信号(使用kill(children_id))让make启动.代码如下,但它不能按预期工作.具体来说,它分叉所有子项,但根本不执行函数"measure_time".这个功能不是记录执行时间而是打印出来的东西.如果我做错了什么,有人会告诉我吗?

    int n_task = 4;
    for (i = 0; i < n_task; i++){
            pid = fork();
            if (pid < 0){
                    printf("cannot fork!\n");
            } else
            if (pid == 0){ //child
                    printf("printed from child [%d]\n", getpid());                        
                    signal(SIGUSR1, measure_time); //measure_time is a function
                    exit(0);
            } else {
                    pid_array[i] = pid;
            }
    }

    //This code is executed from parent only
    for (int i = 0; i < n_task; i++)
    {
            kill(pid_array[i], SIGUSR1);                
    }
Run Code Online (Sandbox Code Playgroud)

c unix linux fork multiprocessing

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

在pthreads中使用成员函数(Linux)

我正在尝试使用以下内容:

pthread_create(&searchThread [i],&threadAttribs [i],DoStuff,&ParallelParams [i]);

如果DoStuff是静态的,它会编译,但是我无法访问属于DoStuff所在类的任何方法或变量.但是如果我将DoStuff作为非静态方法保存,以便我可以访问其他所有内容.我得到以下编译器错误的类:

错误:类型'void*(MyClass ::)(void*)'的参数与'void*()(void)' 不匹配

其中错误似乎是指DoStuff参数以及它是成员函数的事实.

是否有希望能够传递一个非静态方法,允许我在DoStuff方法中访问MyClass中的所有内容?

谢谢!

c++ linux pthreads

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

主要完成后C++内存泄漏?

这是一个内存泄漏?,假设Foo()是一个带有默认构造函数的类

int main()
{

   Foo * p = new Foo();

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为这不是泄漏,因为应用程序在主要结束后立即结束,并且假设操作系统在完成后释放该应用程序的所有资源.这个假设是对的吗?

c++ memory-leaks

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