小编kum*_*mar的帖子

在C程序中设置堆起始地址?

有没有办法在Linux中的GCC编译C程序中设置堆起始地址?在x86_64系统中,我的测试程序将堆地址设置为4字节引用的地址(小于FFFFFFFF).我想将此设置为8字节引用的地址进行一些测试(> FFFFFFFF).GCC是否提供了设置堆起始地址的方法?

c gcc heap-memory elf

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

乱序 FIN 数据包并覆盖?

在浏览开源代码库时,我想到了一个有趣的场景。假设 TCP 连接建立成功后,TCP 客户端必须发送一个序列号 = 101 的数据包。而是发送一个序列号为 201 的 FIN。现在 TCP 服务器认为 FIN 乱序并将其排队等待一个数据包到达。我的问题是,如果服务器收到序列号 = 101 和长度 = 150 的数据包,则根据 RFC,TCP 端点的行为应该是什么。它是否会覆盖之前发送的 FIN?或者服务器将数据包修剪到 FIN 序列号?或者它依赖于 TCP 实现?

sockets networking network-programming tcp protocols

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

C/C++ 的 snmp 代理库?

我必须为基于 Linux 的设备实现性能统计 MIB,并且我正在寻找一个好的代理开发库。我遇到了 net-snmp 和 agent++ 库。我正在寻找更容易理解和强大的库。如果可用性和稳健性是主要标准,哪个是最好的库?

c c++ snmp

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

perl:怎么分裂?

我有一个字符串aa:bb::cc:yy:zz,其需要以这样一种方式,我有一个阵列被分割aa:bb::cc,yy,zz.即我想从last创建两个子串:作为分隔符并保留为数组的元素.实现这一目标的最佳方法是什么?

例如:

aa:bb::cc:yy:zz --> ['aa:bb::cc','yy','zz']

dd:ff:gg:dd:ee:ff:fg --> ['dd:ff:gg:dd:ee','ff','gg']
Run Code Online (Sandbox Code Playgroud)

我将IP地址:port:protocol存储为文件中的密钥,然后拆分":"以获取IP,端口,原型,当IP地址限制为Ipv4时,工作正常.现在我想把它移植到Ipv6,在这种情况下,IP地址包含":",所以我无法通过":"拆分来获得正确的IP地址.

regex perl split substr

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

perl中的对象数组?

我是perl的新手,并且认真地发现很难使用它的面向对象的功能,因为我来自C++,python Background.我想创建一个对象列表,但我不知道如何在perl中实现这一点.我开始使用数组,但这似乎不起作用.

package X;

sub new {
   .....
}


package Y;

sub new {
  .....

}

package Z;

my @object_arr = ( X::new, Y::new);

foreach $object (@object_arr) {
  $object->xyz();
}
Run Code Online (Sandbox Code Playgroud)

这会抛出错误"无法调用方法"xyz"没有包或对象引用".任何帮助表示赞赏.

arrays perl constructor object

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

c ++中的前向声明

我想转发声明:

namespace boost {
    namespace property_tree {
        template<typename Key, typename Data, typename KeyCompare = std::less<Key> >
        class basic_ptree;
        typedef basic_ptree< std::string, std::string > ptree;
    }
}
Run Code Online (Sandbox Code Playgroud)

但由于默认模板参数,我的g ++关于重新定义.我怎样才能做到这一点?

c++ templates forward-declaration

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