小编pan*_*ami的帖子

使用malloc时,从`void*'无效转换为`char*'?

我在第5行的错误中遇到了以下代码的问题:

错误:无效转换void*char*

我正在使用g ++和codeblocks,我试图将此文件编译为cpp文件.有关系吗?

#include <openssl/crypto.h>
int main()
{
    char *foo = malloc(1);
    if (!foo) {
        printf("malloc()");
        exit(1);
    }
    OPENSSL_cleanse(foo, 1);
    printf("cleaned one byte\n");
    OPENSSL_cleanse(foo, 0);
    printf("cleaned zero bytes\n");
}
Run Code Online (Sandbox Code Playgroud)

c++ malloc g++

55
推荐指数
4
解决办法
8万
查看次数

减少循环

我希望有一个像这样的for循环:

for counter in range(10,0):
       print counter,
Run Code Online (Sandbox Code Playgroud)

输出应为10 9 8 7 6 5 4 3 2 1

python for-loop decrement

53
推荐指数
4
解决办法
12万
查看次数

最可靠和最有效的udp数据包大小?

通过UDP发送大量数据包会占用更多资源(cpu,zlib压缩等).我在这里读到,通过UDP发送一个大约65kBYTE的数据包可能会失败所以我认为发送大量较小的数据包会更频繁地成功,但随后会产生使用更多处理能力的计算开销(或者至少就是我的我假设).问题基本上是这样的; 发送最大成功数据包并将计算量降至最低的最佳方案是什么?是否有特定尺寸可以在大多数时间使用?我使用Erlang作为服务器,使用Enet作为客户端(用c ++编写).也使用Zlib压缩,我向每个客户端发送相同的数据包(广播是我猜的术语).

udp processing-efficiency packet-loss

24
推荐指数
3
解决办法
3万
查看次数

错误:'uint16_t'未声明?

我有代码

#include <emmintrin.h>
#include <stdio.h>

void print128_num(__m128i var)
{
    uint16_t *val = (uint16_t*) &var;
    printf("Numerical: %i %i %i %i %i %i %i %i \n",
           val[0], val[1], val[2], val[3], val[4], val[5],
           val[6], val[7]);
}
int main(void)
{
    __m128i a = _mm_set_epi32(4, 3, 2, 1);
    __m128i b = _mm_set_epi32(7, 6, 5, 4);
    __m128i c = _mm_add_epi32(a, b);

    print128_num(c);

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

我收到一个错误,其中uint16_t没有声明.我正在使用GCC和MINGW.

这是完整的错误.

||In function 'print128_num':|
|6|error: 'uint16_t' undeclared (first use in this function)|
|6|error: (Each undeclared identifier is reported …
Run Code Online (Sandbox Code Playgroud)

c gcc undeclared-identifier uint16

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

C++/2d向量的大小

如何找到二维向量的大小?到目前为止,我有以下代码,无法编译.

#include <iostream>
#include <vector>

using namespace std;

int main()
{

    vector < vector <int> > v2d;

    for (int x = 0; x < 3; x++)
    {
        for (int y = 0; y < 5; y++)
        {
            v2d.push_back(vector <int> ());
            v2d[x].push_back(y);
        }
    }

    cout<<v2d[0].size()<<endl;
    cout<<v2d[0][0].size()<<endl;

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

c++ size vector dimensions

19
推荐指数
3
解决办法
6万
查看次数

Python等效于C++ STL向量/列表容器

Python中是否存在类似于容器的东西,就像向量和列表一样?

任何链接也会有所帮助.

c++ python containers list vector

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

在C/c ++中,Boost Variant本质上是一个联盟?

我想知道Boost Variant和unionc/c ++中的数据类型之间有什么区别.我知道union数据类型占用相同的内存位置,并且内存区域中最大的数据类型占用了所使用的内存总量,例如

union space {
   char CHAR;
   float FLOAT;
   int INTEGER;
}S;
Run Code Online (Sandbox Code Playgroud)

应该占用4个字节的内存,int并且float是最大和相同的大小.Boost Variant和union数据类型之间在其他方面是否存在相似之处和不同之处?我也知道Boost Variant可以采用任何数据类型,它允许数据类型"多态"(如果我滥用OOP主题词,请纠正我).因此union数据类型也是一种多态性吗?

c c++ boost-variant unions

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

可变类型与不可变类型的图表

在线某处有一个表格或图表,显示哪些类型(内置)在python中是可变的和不可变的?

python types mutable immutability

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

boost :: asio :: buffer:获取缓冲区大小并防止缓冲区溢出?

我有以下两个用于发送和接收数据包的功能.

void send(std::string protocol)
{
    char *request=new char[protocol.size()+1];
    request[protocol.size()] = 0;
    memcpy(request,protocol.c_str(),protocol.size());

    request_length = std::strlen(request);
    boost::asio::write(s, boost::asio::buffer(request, request_length));
}
void receive()
{
    char reply[max_length];
    size_t reply_length = boost::asio::read(s, boost::asio::buffer(reply, request_length));
    std::cout << "Reply is: ";
    std::cout.write(reply, reply_length);
    std::cout << "\n";
}
Run Code Online (Sandbox Code Playgroud)

问题与此部分有关,boost::asio::buffer(reply, request_length)其中请求长度是在发送数据包时最初设置的字符串的长度.如何在不知情的情况下检查缓冲区的大小request_length?另一个问题是如何防止缓冲区溢出?

c++ buffer-overflow boost-asio

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

C++:执行while循环直到按下一个键,例如Esc?

有没有人有一段代码,不windows.h用于在while循环中检查按键.基本上这个代码,但不必使用windows.h它.我想在Linux和Windows上使用它.

#include <windows.h>
#include <iostream>

int main()
{
    bool exit = false;

    while(exit == false)
    {
        if (GetAsyncKeyState(VK_ESCAPE))
        {
            exit = true;
        }
        std::cout<<"press esc to exit! "<<std::endl;
    }

    std::cout<<"exited: "<<std::endl;

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

c++ multiplatform exit onkeypress while-loop

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