小编use*_*571的帖子

在c中使用整数数组的memset

char str[] = "beautiful earth";
memset(str, '*', 6);
printf("%s", str);

Output:
******ful earth
Run Code Online (Sandbox Code Playgroud)

1)像上面使用memset一样,我们可以只将几个整数数组索引值初始化为1,如下所示?

int arr[15];
memset(arr, 1, 6);
Run Code Online (Sandbox Code Playgroud)

c memset

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

后续总和

给定一个整数数组,例如[1, 2, -3, 1]查找是否存在与其求和0并返回的子序列(例如[1, 2, -3][2, -3, 1]).
检查每个子序列的O(n^2)效率太低.有任何改进的想法吗?

algorithm data-structures

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

使用NETLINK的VLAN信息

如何使用C中的NETLINK套接字从内核到用户空间添加和删除VLAN子接口等VLAN信息?

我在评论中提到的NETLINK man中没有做过什么研究.我添加并删除了一个VLAN子接口,并使用netlink socket程序进行监控.添加和删​​除每个接收3条消息.添加发送3个NEWLINK消息,删除发送2个NEWLINK和1个DELLINK消息.为什么会这样?

添加新的VLAN接口eth1.75:

RTM_NEWLINK Link eth2.75 Down
RTM_NEWLINK Link eth2 Up
RTM_NEWLINK Link eth2.75 Up
Run Code Online (Sandbox Code Playgroud)

删除VLAN接口eth2.75:

RTM_NEWLINK Link eth2 Up
RTM_NEWLINK Link eth2.75 Down
RTM_DELLINK eth2.75
Run Code Online (Sandbox Code Playgroud)

c linux kernel netlink vlan

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

如何在gdb中转储STL容器数据?

我无法在gdb中转储STL无序映射容器值.变量类型是std :: unordered_map <> var;

我的gdb版本 - 7.7.1 Gdb配置:

 configure --host=x86_64-linux-gnu --target=x86_64-linux-gnu
             --with-auto-load-dir=$debugdir:$datadir/auto-load
             --with-auto-load-safe-path=$debugdir:$datadir/auto-load
             --with-expat
             --with-gdb-datadir=/usr/local/share/gdb (relocatable)
             --with-jit-reader-dir=/usr/local/lib/gdb (relocatable)
             --without-libunwind-ia64
             --with-lzma
             --with-separate-debug-dir=/usr/local/lib/debug (relocatable)
             --with-system-gdbinit=/etc/gdb/gdbinit
             --with-zlib
             --without-babeltrace
Run Code Online (Sandbox Code Playgroud)

g ++(Ubuntu 4.8.4-2ubuntu1~14.04.3)4.8.4

什么是打印STL容器值n gdb的正确方法?

地图容器的gdb输出:

p var

$3 = {<std::__allow_copy_cons<true>> = {<No data fields>},                                                                                                                          [13/5219]
  _M_h = {<std::__detail::_Hashtable_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<ch
ar> > const, Metrics_s*>, std::__detail::_Select1st, std::equal_to<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::basic_string<char, std::ch
ar_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >> = {<std::__detail::
_Hash_code_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, …
Run Code Online (Sandbox Code Playgroud)

c++ containers gdb stl

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

在c中构造的类型转换数组

我有这样的结构

struct packet
{
int seqnum;
char type[1];
float time1;
float pri;
float time2;
unsigned char data[512];
}
Run Code Online (Sandbox Code Playgroud)

我在数组中收到数据包

char buf[529];
Run Code Online (Sandbox Code Playgroud)

我想取seqnum,数据一切都是单独的.下面的类型转换工作..它给我的垃圾值.

struct packet *pkt;
pkt=(struct packet *)buf;
printf(" %d",pkt->seqnum)
Run Code Online (Sandbox Code Playgroud)

c structure

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

ping如何解析ip地址?

Ping实用程序在网络层上方工作,DNS在Application层中工作.

如果我们尝试ping www.google.com

它是如何解析GOOGLE的IP地址的,因为DNS在这些层之上?

dns ping network-protocols tcp-ip application-layer

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

mmap 文件支持的映射与 Linux 中的匿名映射

  • 文件支持的映射和匿名映射之间的主要区别是什么。

  • 当我们需要进程之间的 IPC 时,我们如何在文件支持映射或匿名映射之间进行选择。
  • 使用这些的优点和缺点是什么?

linux ipc mmap process

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

如何检查软链接是否存在

user: ls -lt
lrwxrwxrwx 1 user sw-team    9 Jun 18 19:01 new_link -> test/file
Run Code Online (Sandbox Code Playgroud)

我有一个像上面提到的软链接.我想检查是否存在new_link(不是链接文件).我尝试了以下所有内容,但只有在最终目标文件(测试/文件)存在时才会检查.

access(filename,F_OK)
stat()
open()
fopen()
Run Code Online (Sandbox Code Playgroud)

我想在C语言中找到它而不是在shell脚本中.请在检查链接文件之前告诉我如何找到new_link?

c linux symlink

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

如何在不轮询内核的情况下获取C程序中新添加的NIC的pci地址?

根据以下链接,我了解到通过创建netlink套接字并收听RTMGRP_LINK,我们可以检测事件(网络接口创建/删除/上/下事件).

如何在不轮询内核的情况下监视C程序中的NIC状态(向上/向下)?

一旦检测到新添加的接口,是否可以获取pci地址?

c sockets netlink

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

如何安装libprotobuf?

我错误地删除了这些库。我找不到重新安装它的正确方法。

/usr/lib/x86_64-linux-gnu/libprotobuf.so.8
/usr/lib/x86_64-linux-gnu/libprotobuf-c.so.0
Run Code Online (Sandbox Code Playgroud)

为了修复它,我尝试按照这些说明进行操作,https://github.com/google/protobuf/blob/master/src/README.md 但最终得到了不同的版本。现在在编译我的代码时它会抛出这个错误。我怎样才能找回我以前的版本?

error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

linux protocol-buffers

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