我有一个行为未定义的程序( vfork() 使用不当):
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
int main ( int argc, char *argv[] )
{
pid_t pid;
printf("___________befor fork______________.\n");
if((pid=vfork()) < 0)
perror("fork");
else if(pid > 0)
printf("parent\n");
else
printf("child\n");
printf("pid: %d, ppid: %d\n", getpid(), getppid());
//exit(0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我使用exit(0)函数而不是返回 - 输出是:
___________befor fork______________.
child
pid: 4370, ppid: 4369
parent
pid: 4369, ppid: 2924
Run Code Online (Sandbox Code Playgroud)
如果我使用return 0- 我会得到这样的无限输出:
___________befor fork______________.
child
pid: 4455, ppid: 4454
parent
pid: 4454, ppid: 2924
___________befor fork______________.
child …Run Code Online (Sandbox Code Playgroud) 在Qt3中是否有办法将QDateTime转换为QString并返回QDateTime,以便最终QDateTime将包含有关毫秒的信息?
谢谢.
在我的家庭机器上,unsigned long是8个字节.在工作机上它的4个字节.当您在家中开始编写工作时,会出现通过网络传输数据的正确性问题.
谢谢.
我有代码:
signed short a = -32740;
float c;
float b;
b = (signed short)(a << 4);
c = a << 4;
printf("(signed short)(a << 4): %f\n", b);
printf("(a << 4): %f\n", c);
Run Code Online (Sandbox Code Playgroud)
输出:
(signed short)(a << 4): 448.000000
(a << 4): -523840.000000
Run Code Online (Sandbox Code Playgroud)
为什么16个高级寄存器在shift(c = a << 4;)后没有复位?
程序在x86机器上使用32位linux执行.