有人知道如何将数据包写入C中的TAP接口吗?还是其他任何语言?
我自己构建了一个以太网数据报,我想把它写到一个特定的tap接口.
谢谢!:)
我正在对堆地址增长做一些实验,并发生了一些有趣的事情.(OS:CentOS,)
但我不明白,为什么会这样?谢谢!
这是我先做的事情:
double *ptr[1000];
for (int i=0;i<1000;i++){
ptr[i] = new double[**10000**];
cout << ptr[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)
输出是递增的(对于最后几行):
....
....
0x2481be0
0x2495470
0x24a8d00
0x24bc590
0x24cfe20
0x24e36b0
0x24f6f40
0x250a7d0
0x251e060
Run Code Online (Sandbox Code Playgroud)
然后我将10000改为20000:
double *ptr[1000];
for (int i=0;i<1000;i++){
ptr[i] = new double[**20000**];
cout << ptr[i] << endl;
}
Run Code Online (Sandbox Code Playgroud)
地址变得更像堆栈空间的地址(和递减):
....
....
0x7f69c4d8a010
0x7f69c4d62010
0x7f69c4d3a010
0x7f69c4d12010
0x7f69c4cea010
0x7f69c4cc2010
0x7f69c4c9a010
0x7f69c4c72010
0x7f69c4c4a010
0x7f69c4c22010
0x7f69c4bfa010
0x7f69c4bd2010
0x7f69c4baa010
0x7f69c4b82010
Run Code Online (Sandbox Code Playgroud) 我在我的Fedora 17中安装PIL
但是当我设置它时,我有两个错误:
/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../libz.so when searching for -lz
/bin/ld: skipping incompatible /lib/libz.so when searching for -lz
/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/bin/ld: cannot find -lz
/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我检查了我的gcc和python-devel,它们都是最新的.有人说它可能与我的x86_64 lib有关,所以我尝试安装lib32z-devel,但我无法安装它.
任何身体都能帮忙吗?提前致谢!