小编Cod*_*der的帖子

如何在Linux中获取C/C++中的用户名?

如何在不使用程序中的环境(getenv,...)的情况下获取实际的"用户名"?

c c++ linux posix username

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

使用联合在具有共同初始序列的两个结构之间进行转换是否合法且定义良好的行为(参见示例)?

我有一个公开面向结构A和内部结构B的API,需要能够将结构B转换为结构A.以下代码在C99(和VS 2010/C89)和C中是合法且定义良好的行为 ++ 03/C++ 11?如果是,请解释是什么使它明确定义.如果不是,那么在两种结构之间进行转换的最有效和跨平台的方法是什么?

struct A {
  uint32_t x;
  uint32_t y;
  uint32_t z;
};

struct B {
  uint32_t x;
  uint32_t y;
  uint32_t z;
  uint64_t c;
};

union U {
  struct A a;
  struct B b;
};

int main(int argc, char* argv[]) {
  U u;
  u.b.x = 1;
  u.b.y = 2;
  u.b.z = 3;
  u.b.c = 64;

  /* Is it legal and well defined behavior when accessing the non-write member of a union in this case? */
  DoSomething(u.a.x, u.a.y, …
Run Code Online (Sandbox Code Playgroud)

c c++ c99 c89 unions

16
推荐指数
2
解决办法
681
查看次数

如何在不使用NTP,PTP的情况下计算单向数据包延迟

我正在寻找计算分组交换网络中单向延迟的方法.我不想使用NTP或PTP(网络时间协议,精确时间协议).

考虑一下场景:

Host-1将数据包发送到Host-2.两台主机都有不同的时钟频率,主机位于不同的国家/地区.

分组可以是UDP/TCP /第2层帧.

有没有办法同步两台主机的时钟速率,以便计算单向延迟.

现在你们如何计算单向延迟而不依赖于时序协议.我正在寻找一些通用的公式来做到这一点.

我非常感谢这个问题的答案.

非常感谢提前.

networking

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

标签 统计

c ×2

c++ ×2

c89 ×1

c99 ×1

linux ×1

networking ×1

posix ×1

unions ×1

username ×1