小编iya*_*sar的帖子

错误:提升禁用线程

我的升级库有问题.即时通讯使用freebsd并使用端口安装我的提升.Boost版本是:1.45,我使用g ++ 47作为编译器.此外,我从来没有在那里定义过BOOST DISABLE THREADS:/usr/local/include/boost/config/user.hpp.而且我的错误确切地说是:

 /usr/local/include/boost/config/requires_threads.hpp:29:4: error: #error "Threading    support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" 
Run Code Online (Sandbox Code Playgroud)

明确但在哪里?我的编译命令;

 g++47 -O3 -Wall -std=c++0x   -I. -Iinclude -I../include -I/usr/local/include   -c -o     Application.o src/Application.cpp
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ boost freebsd

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

连接(功能)错误时正在进行操作错误

我想设置函数connect的超时值,但我收到此错误:"正在进行操作"

我的代码:

if ((he = gethostbyname(authdefhost)) == NULL) {
        snprintf(errbuf, CERRBUFSIZ - 1, "cannot resolve %s: %s\n", authdefhost, hstrerror(h_errno));
        return -1;
}

sin.sin_family = AF_INET;
memcpy(&sin.sin_addr, he->h_addr_list[0], sizeof(struct in_addr));       

if ((sd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        snprintf(errbuf, CERRBUFSIZ - 1, "cannot create client socket: %s\n", strerror(errno));
        return -1;
}

if ((fcntl(sd, F_SETFL, O_NONBLOCK) < 0))
    printf("error on setting socket flags.");

if (connect(sd, (void *) & sin, sizeof(sin)) == -1) {
        snprintf(errbuf, CERRBUFSIZ - 1, "cannot connect to server …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

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

是否有任何代码用于bitwise和ipv6地址和网络掩码(前缀)?

我想问一下ipv6网络和主机端的计算.

例如,我有IPv6地址2001:470:1f15:1bcd:34::41和前缀96.

你知道and在IPv6地址和前缀之间做一个简单的方法吗?

根据IPv4:

192.168.1.2  255.255.255.0  network : 192.168.1.0
Run Code Online (Sandbox Code Playgroud)

很简单.

我想对IPv6地址做同样的事情.但IPv6地址是16个字节,所以你不能使用unsigned int它.

有没有API可以做到这一点?或者我应该使用数组?

c c++ networking ipv6

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

POSIX regex.h是否提供unicode或基本上非ascii字符?

嗨,我正在使用标准正则表达式库(regcomp,regexec ..).但是现在按需要我应该为我的正则表达式代码添加unicode支持.

标准正则表达式库是否提供unicode或基本上非ascii字符?我在网上研究,并没有想到.

我的项目是资源批评者因此我不想使用大型库(ICU和Boost.Regex).

任何帮助,将不胜感激..

c c++ linux posix

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

如何在C中解码q-encoding?

是否有用于 q 编码的库?我需要解码一些 q 编码的文本,例如:

**Subject: =?iso-8859-1?Q?=A1Hola,_se=F1or!?=**
Run Code Online (Sandbox Code Playgroud)

c encoding decoding

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

迁移到非弃用的ldap函数时出错

我正在将已弃用的ldap函数更改为不推荐使用的函数.但我遇到了问题ldap_sasl_bind_s. It returns error code 49,这意味着无效的凭据.但我确信凭证有效.否则我补充说

TLS_REQCERT never

TLSVerifyClient never  
Run Code Online (Sandbox Code Playgroud)

/etc/openldap/ldap.conf.我仍然得到错误.

ldap_simple_bind_s(q->ld, binddn, creds.bv_val);  //works well

ldap_sasl_bind_s(q->ld, binddn, LDAP_SASL_SIMPLE , &creds, NULL, NULL, NULL); //returns ldap error code 49 but continues working
Run Code Online (Sandbox Code Playgroud)

主要的问题是:当我使用ldap_sasl_bind_s时,它不会绑定我的ldap架构中的所有attrbiutes.此外,当我搜索现有属性时,它返回NOSUCH错误.

任何帮助,将不胜感激.

c openldap

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

带有auto关键字的C++ 11函数定义

我很好奇在C++ 11中使用auto关键字.

对于函数定义,必须编写函数的返回类型:

auto f (int x) -> int { return x + 3; }; //success
auto f (int x)  { return x + 3; }; //fail
Run Code Online (Sandbox Code Playgroud)

但在这个例子中,它们都可以工作:

auto f = [](int x) { return x + 3; }; //expect a failure but it works
auto f = [](int x) -> int { return x + 3; }; // this is expected code
Run Code Online (Sandbox Code Playgroud)

谢谢.

c++ lambda c++11

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

使用var关键字初始化切片

现在我正在学习Golang并且不了解Golang的行为方式.

这是一个简单的声明和初始化切片:

ilist := []int{1, 2, 3}  //it works
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我尝试使用var关键字声明并初始化它,则会出错:

var ilist [] int = {1, 2, 3, 4, 5}  //error
Run Code Online (Sandbox Code Playgroud)

如果我只初始化一个变量(不是切片),它可以正常工作:

var i int = 5 // works fine
Run Code Online (Sandbox Code Playgroud)

为什么Golang表现得像这样,有什么特别的原因吗?

initialization literals go slice

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