小编Mar*_*ott的帖子

从chrono :: duration中获取unsigned int毫秒

对于winapi包装器,我想在给出呼叫的持续时间内使用计时器.代码示例:

bool setTimer(std::chrono::duration<std::chrono::milliseconds> duration)
{
    unsigned int dwDuration = Do some chrono magic here

    SetTimer(m_hWnd,1,dwDuration,0);
}
Run Code Online (Sandbox Code Playgroud)

dwDuration必须以毫秒为单位.

第一个问题:如何做到魔术.

第二个问题:参数声明好吗?

c++11 c++-chrono

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

Botan SSL/TLS示例或起点

我正在尝试使用Botan库来建立与私有证书的SSL/TLS连接.不幸的是,我找不到使用新TLS :: Client类的任何实际示例代码.该文档几乎不是doxygen doc的文本.是否有任何项目使用Botan我可以看到,如何建立连接?我不知道使用哪个编译器或操作系统,因为我的项目无论如何都必须是平台无关的.

c++ ssl botan

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

为OS X构建虚拟摄像头

我需要在像skype这样的程序中获得合成生成的视频流.音频部分很简单.有一个名为Soundflower的项目,它是一个适配器.它在一侧呈现虚拟音频目标设备,在另一侧呈现视频源.我正在为OSX寻找相同的解决方案.除了我只需要部分如何将其呈现为虚拟相机.不要误解,我不需要"随时可用"的工具,我需要如何开发它的方式.因此,随时可用的工具仅对源代码有帮助.

在Windows世界中,我来自哪里,我已经使用DirectShow编写了这样的虚拟相机.现在我在OSX世界中寻找类似的解决方案.

c++ macos objective-c

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

FFmpeg使用avcodec_decode_video2解码原始缓冲区

我收到一个h264流,我至少知道一帧的大小.流正好进入,因为我可以将其存储在文件中并使用vlc进行播放.回放文件对我来说没问题,因为我包含了libavformat.但是libavformat给了我一个AVPacket,我可以直接给avogramc_decode_video2.在这种情况下,我得到了一个字节流.如何将原始h264流提供给avcodec_decode_video2?如何将数据包装到AVPacket中.VLC不需要猜测任何数据.

c++ ffmpeg libavcodec

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

如何检查std :: thread是否有效

我有一个类对象,在某些情况下只需要启动一个线程.在析构函数中,无论何时有线程都可以方便地知道.问题是,如何检测std :: thread对象是否是有效线程.

class MyClass
{
public:
   ~MyClass()
    {
       // Attention pseudocode!!!!!
       if(mythread is a valid object)
           mythread.join();

       if(mythread was a valid object in its lifetime)
           Do some stuff
    }

    void DoSomeStuff()
    {
      // May or may not create a thread
    }
private:
   std::thread mythread;
};
Run Code Online (Sandbox Code Playgroud)

c++ c++11 stdthread

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

Xcode编译器找不到C++ 11包含的

我在Visual Studio 2012中开发了一些类,它们大量使用C++ 11特性,并且还使用了新的标准功能,如线程和互斥.原因是平台无关.试图将代码移植到OSX Xcode编译器5.0无法打开以下包括:

#include <chrono>
#include <thread>
#include <functional>
#include <mutex> 
Run Code Online (Sandbox Code Playgroud)

我已经将构建设置切换到C++ 11并在usr/include路径中搜索了包含.当我试图从我的项目中消除它时,请不要建议提升.

xcode c++11

4
推荐指数
2
解决办法
9011
查看次数

在类构造函数中设置std :: vector,使用元素构造函数的不同值

我有一个非常简单的构造函数的类:

class mystream
{
public:
    mystream(size_t buffersize,size_t index) : buffersize(buffersize),index(index){}

    size_t buffersize;
    size_t index;
};
Run Code Online (Sandbox Code Playgroud)

该mystream实例具有唯一的id,它与其在管理类的向量中的位置相对应:

class mystreammanager
{
public:
   mystreammanager() : streams(8,1024, /* WHAT TO DO HERE ??? */ )
   {
   }

  std::vector<mystream> streams;
};
Run Code Online (Sandbox Code Playgroud)

如何构造向量并使用索引的升序值初始化其元素?

c++ constructor vector c++11

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

是否有像 __APPLE__ 这样的定义用于 Objective C/C++

我得到了一个小的 C++ 帮助文件,它有一些 std::strings 的支持函数。当我在“.cpp”文件和“.mm”文件中使用它时,我想添加一些 Objective C++ 帮助函数。现在我搜索如下定义:

#ifdef __APPLE__
#ifdef __I_AM_INCLUDED_IN_A_MM_FILE__
// define some Objective C++ code here
#endif
#endif
Run Code Online (Sandbox Code Playgroud)

有定义吗?是否有 XCode 定义的列表?

c++ xcode objective-c c-preprocessor

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

标题声明"鸡肉或鸡蛋"

对于一个项目,我必须编写一个容器类和元素,其中元素需要有关它们所在容器的知识.另外,创建应该由容器中的工厂方法完成.如果你使用标题和一个cpp文件,如果你(像我一样)只允许使用一个标题,我似乎不可能.以下是问题的示例:

class myContainer;
class myElement;

class myContainer
{
  public:
    myElement *createElement()
    {
      myElement *me =new myElement(this); 
      // do some adding to list stuff
      return me;
    }

    int askMyContainer()
    {
       return 42;
    }
};

class myElement
{
  public:
    myElement(myContainer *parent)
    {
     pcontainer=parent;
    }

    int userAskingSomething()
    {
     return pcontainer->askMyContainer();
    }
 protected:
  myContainer *pcontainer;
};
Run Code Online (Sandbox Code Playgroud)

myContainer类需要关于myElement的知识,这就是为什么myElement会出现在myContainer之前,但myElement需要有关myContainer的知识.

c++ header

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

vsnprintf可变参数的问题

以下代码将在Visual Studio 2012上提供预期结果,但不在XCode 5.0上提供.我错过了什么?

static std::string format(const std::string fmt, ...)
{
    va_list vl;
    va_start(vl, fmt);
    int size=vsnprintf(0, 0, fmt.c_str(), vl);

    if(size<1)
        return std::string();


    char szBuf[256];

    vsnprintf(szBuf, 256, fmt.c_str(), vl);

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

电话:

for(int no=1;no<10;no++)
{
    std::string strPath=format("entry%02d.txt",no);
}
Run Code Online (Sandbox Code Playgroud)

将在Windows上生成正确的"entry01.txt",但它在带有XCode的OSX上为"entry1852125044.txt".

上面的代码缩短了,专注于问题.这就是看起来奇怪的原因(要求尺寸而不是使用它).我还需要处理格式字符串.

c++ xcode

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

简单的循环C++为什么

我只是想知道为什么我会在c ++中这样做

for(int i=0, n=something.size(); i<n; ++i) 
Run Code Online (Sandbox Code Playgroud)

VS

for(int i=0; i<something.size(); ++i)      
Run Code Online (Sandbox Code Playgroud)

..

c++ for-loop

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