摘要: C语言中return和exit的区别 exit用于结束进程,返回的状态码是给操作系统使用或父进程使用的。return是堆栈返回,返回的值是给主调函数用的。主线程结束前会默认调用exit结束进程。 exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输 阅读全文
posted @ 2017-11-14 16:27 青儿哥哥 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 中断的一些知识 什么是中断 中断指处理机处理程序运行中出现的紧急事件的整个过程.程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断。 CPU要做的事情: 改变 阅读全文
posted @ 2017-11-14 15:59 青儿哥哥 阅读(1923) 评论(0) 推荐(1) 编辑
摘要: l 父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起 l 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后,父进程会收到该信号,可以在handler中调用wait回收 l 如果父进程不关心子进程什么时候结束,那么可以用signa 阅读全文
posted @ 2017-11-14 15:37 青儿哥哥 阅读(910) 评论(0) 推荐(0) 编辑
摘要: make工具和makefile文件 make工具和makefile文件简介 make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具。它不仅常被用于控制源代码的编译和链接,而且还用于手册页的编写以及将应用程序安装到目标目录。 makefile文件由一组依赖关系和规则构成。每个依 阅读全文
posted @ 2017-11-14 15:21 青儿哥哥 阅读(5098) 评论(0) 推荐(0) 编辑
摘要: gcc编译流程 一、 编译与处理指令: gcc -E hello.c -o a.c 如果不使用-o指定输出的文件,会默认输出到终端。所以建议使用同时使用-o选项。 还要注意:编译时会保留#pragma编译器指令,因为编译器需要使用它们。 二、 编译指令: 将C代码翻译成汇编代码 gcc -S hel 阅读全文
posted @ 2017-11-14 11:19 青儿哥哥 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: // test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; //方法一是将结果保存在了另一个变量中,从a中取依次取最低位,放入放入ret的低位然后右移ret int reverse(int a) { int ret= 0; for(int i= 0;... 阅读全文
posted @ 2017-11-14 10:04 青儿哥哥 阅读(1100) 评论(0) 推荐(0) 编辑