【问题标题】:C System Calls and messagesC 系统调用和消息
【发布时间】:2016-03-07 22:40:36
【问题描述】:

我正在尝试通过向系统调用传递消息来传递指向系统调用的指针。

指针应该指向一个 int[]。

然而,消息定义需要一个 char 指针被传递。如何发送 int 指针?

int pidarray[j];
m.m1_p1 = pidarray;

是否可以转换指针类型?

【问题讨论】:

  • 在提到“C 系统调用”时,您是在想syscalls(2) 还是system(3) 库函数?请编辑您的问题以改进它。也许更准确地标记它(使用 Linux,POSIX,...)

标签: c pointers int


【解决方案1】:

Is it possible to convert the pointer types?

是的,这是可能的。例如:

(char*) intPointer

【讨论】:

  • 不应该是(char*)吗?这样的转换不会从每个int 返回单个字节,而不是将每个int 转换为char
  • 谢谢!就在消息中传递它而言,这将如何工作?我是否将其转换为 char*?然后我可以将它作为 int* 传递回来?
  • @cad 我举了一个例子。是的,数据将直接转换为字符而不是每个整数。
  • 好吧,但是将一个名为 intPointer 的东西投射到一个 int 指针似乎很奇怪。
  • @calmcalmuncle 请记住,字符是 1 个字节,整数是 4 个字节。
猜你喜欢
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2012-02-02
  • 1970-01-01
相关资源
最近更新 更多