小编unr*_*nal的帖子

如何填写sockaddr_storage?

我想sockaddr_storage在我的应用程序中使用struct.我很好奇如何填补它.例如,我有以下代码:

sHostAddr.sin_family = AF_INET;
sHostAddr.sin_addr.s_addr = inet_addr (cpIPAddress);
Run Code Online (Sandbox Code Playgroud)

如果我使用sockaddr_storagestruct,如何替换它?我知道有一些char数组,我想我可以使用一些数组索引偏移得到一个等效的代码?

谢谢你提前.

c++ sockets

6
推荐指数
2
解决办法
5125
查看次数

在Cruisecontrol中设置环境变量

如何在Cruisecontrol中设置环境变量?

如果我尝试这样做:

<exec command="set PATH="
                workingdir="d:\AppLiteNew\Projects\"
                args = "%PATH%;D:\QtSDK\mingw\bin\"/> 
Run Code Online (Sandbox Code Playgroud)

它不起作用,我得到的是:

[cc] Dec-13 13:30:28 ExecBuilder - 无法执行命令:设置PATH =参数:%PATH%; D:\ QtSDK\mingw\bin \

windows cruisecontrol environment-variables

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

在C++中查找重复文件的最佳方法是什么?

我想在C++中找到文件系统上的重复文件.有没有算法尽快做到这一点?我是否需要创建一个多线程应用程序,或者我可以使用一个线程来完成它?

c++ algorithm file

4
推荐指数
3
解决办法
5263
查看次数

如何在几个作业中运行shell脚本

我有一个构建脚本,它运行得非常慢,特别是在Solaris上.我希望通过在多个作业中运行来提高性能.我怎样才能做到这一点?

unix shell

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

在c ++中,在线程之间共享数据容器的最佳方法是什么

我有一个应用程序有几个处理级别,如:

InputStream->Pre-Processing->Computation->OutputStream
Run Code Online (Sandbox Code Playgroud)

每个实体都在单独的线程中运行.所以在我的代码中我有一般的线程,它拥有

std::vector<ImageRead> m_readImages;
Run Code Online (Sandbox Code Playgroud)

然后它将此成员变量传递给每个线程:

InputStream input{&m_readImages};
std::thread threadStream{&InputStream::start, &InputStream};
PreProcess pre{&m_readImages};
std::thread preStream{&PreProcess::start, &PreProcess};
...
Run Code Online (Sandbox Code Playgroud)

并且每个类都拥有此数据的指针成员:

std::vector<ImageRead>* m_ptrReadImages;
Run Code Online (Sandbox Code Playgroud)

我还定义了一个全局互斥锁,我在对该共享容器的每次读/写操作时锁定和解锁.困扰我的是这种机制非常模糊,有时我会混淆数据是否被另一个线程使用.

那么在这些线程之间共享这个容器的更直接的方法是什么?

c++ multithreading c++11

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

从lua调用C函数

有人能告诉我是否有可能以某种方式调用c函数或简单地将其包装到lua函数中而不构建新模块.

c lua

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

Rapidxml 正在写入错误的字符

我最近一直在使用 Rapidxml 并遇到以下问题。当我尝试添加属性时,这些属性不是硬编码的,而是在程序运行时生成的,rapidxml 插入了错误的字符。

这是我的代码示例:

   void ProcessInfo::retriveInfo()
{
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

   PROCESSENTRY32 pe = { sizeof(pe) };  
   BOOL fOk = ProcessFirst( &pe, hSnapshot );

   using namespace rapidxml;
   xml_document<> doc;

   xml_node<>* decl = doc.allocate_node(node_declaration);
   decl->append_attribute(doc.allocate_attribute("version", "1.0"));
   decl->append_attribute(doc.allocate_attribute("encoding", "utf-8"));
   doc.append_node(decl);

   xml_node<>* root = doc.allocate_node(node_element, "rootnode");

   while(fOk)
   {
       std::string processFile = pe.szExeFile;

   xml_node<>* processName = doc.allocate_node(node_element, PROCESS_NODE);
       root->append_node( processName );


       processName->append_attribute(doc.allocate_attribute( PROCESS_NAME, processFile.c_str() ) );

       char szPID[PID_BUFFER];
       memset(szPID, 0x00, sizeof(szPID) );
       itoa(pe.th32ProcessID, szPID, 10 );
       processName->append_attribute(doc.allocate_attribute( PROCESS_ID, szPID ));

       char szParentPID[PID_BUFFER]; …
Run Code Online (Sandbox Code Playgroud)

c++ xml rapidxml

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

如何在C++中确定IP版本?

我想支持IPv4和IPv6两个版本.目前.我只支持IPv4,但是为了为每个我需要知道的IP版本设置不同的行为,我正在使用什么版本的IP.

Currenly我正在使用gethostbyname功能,并根据我设置的h_addrtype字段hostent struct是IPv4还是IPv6,但我想知道这是真的正确吗?如果不是,有什么方法可以获得IP版本?如果它是正确的,如果此功能失败,我该怎么办?

谢谢你提前.

c++ sockets ipv6

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

如何为表中的函数设置名称

例如,我有一张桌子

table.insert( t, 1, function()
                        print ("rock");
                    end );
Run Code Online (Sandbox Code Playgroud)

有没有办法从这个表中获取函数名称.我知道我可以像键一样存储名称,但如果我想保留数字索引并且我想知道函数名称怎么办?有什么办法吗?谢谢,提前.

lua lua-table

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

Sqlalchemy 最大 2 列

我需要能够在sqlalchemy. 这两列可能来自两个不同的表。该操作的纯 SQL 模拟是:

Select Id,
       Case When Col1 < Col2 Then Col1
            Else Col2
            End As TheMin
From   TableName
Run Code Online (Sandbox Code Playgroud)

我一直在浏览文档,但没有找到直接的方法来做到这一点。这可以如何实施sqlalchemy

python sql sqlalchemy

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