--------------------------
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
void handler(int signo)
{
printf("recv the signal from parent process\n")
}
int main()
{
pid_t pid
pid = fork()
switch(pid)
{
case -1:
perror("fork failed")
exit(1)
case 0:
printf("in the child\n")
signal(SIGCONT, handler)
pause()
printf("child weakup\n")
break
default:
printf("in the parent\n")
sleep(5)
kill(pid, SIGCONT)
sleep(5)
printf("parent weakup\n")
break
}
printf("bye..\n")
exit(0)
}
--------------------------------------------------
运行及输出:
beyes@linux-beyes:~/C>./weakup.exe
in the child
in the parent
recv the signal from parent process
child weakup
bye..
parent weakup
bye..
....................................
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)