11 2017 档案

摘要:C语言中return和exit的区别 exit用于结束进程,返回的状态码是给操作系统使用或父进程使用的。return是堆栈返回,返回的值是给主调函数用的。主线程结束前会默认调用exit结束进程。 exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输 阅读全文
posted @ 2017-11-14 16:27 青儿哥哥 阅读(996) 评论(0) 推荐(0) 编辑
摘要:中断的一些知识 什么是中断 中断指处理机处理程序运行中出现的紧急事件的整个过程.程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断。 CPU要做的事情: 改变 阅读全文
posted @ 2017-11-14 15:59 青儿哥哥 阅读(2009) 评论(0) 推荐(1) 编辑
摘要:l 父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起 l 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后,父进程会收到该信号,可以在handler中调用wait回收 l 如果父进程不关心子进程什么时候结束,那么可以用signa 阅读全文
posted @ 2017-11-14 15:37 青儿哥哥 阅读(942) 评论(0) 推荐(0) 编辑
摘要:make工具和makefile文件 make工具和makefile文件简介 make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具。它不仅常被用于控制源代码的编译和链接,而且还用于手册页的编写以及将应用程序安装到目标目录。 makefile文件由一组依赖关系和规则构成。每个依 阅读全文
posted @ 2017-11-14 15:21 青儿哥哥 阅读(5250) 评论(0) 推荐(0) 编辑
摘要:gcc编译流程 一、 编译与处理指令: gcc -E hello.c -o a.c 如果不使用-o指定输出的文件,会默认输出到终端。所以建议使用同时使用-o选项。 还要注意:编译时会保留#pragma编译器指令,因为编译器需要使用它们。 二、 编译指令: 将C代码翻译成汇编代码 gcc -S hel 阅读全文
posted @ 2017-11-14 11:19 青儿哥哥 阅读(1583) 评论(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 青儿哥哥 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:#include void *memcpy(void *memTo,const void *memFrom,size_t size) { if(memTo == NULL || memFrom == NULL) return NULL; char *p = (char *)memTo; char *q = (char *)memFrom; ... 阅读全文
posted @ 2017-11-13 21:31 青儿哥哥 阅读(613) 评论(0) 推荐(0) 编辑
摘要:#include char *strcpy(char *strDest,char *strSrc) { if(strDest == NULL || strSrc == NULL) return NULL; char *p =strDest; while(*strSrc != '\0') { *p = *strSrc; ... 阅读全文
posted @ 2017-11-13 21:17 青儿哥哥 阅读(474) 评论(0) 推荐(1) 编辑
摘要:#include #include #include void merge(int a[],int len1,int b[],int len2) { if(len1 <= 0 || len2 <= 0) return; int *c = (int *)malloc(sizeof(int) * (len1 + len2)); memset(c,0,siz... 阅读全文
posted @ 2017-11-13 14:16 青儿哥哥 阅读(612) 评论(0) 推荐(0) 编辑
摘要:两个单链表交叉只能是Y型,所以可以通过判断最后一个节点是否为同一个节点来判断是否交叉 找出交点:遍历两个链表,记录长度分别为L1和L2,先让长的链表向后移动abs(L1-L2),然后在逐个比较结点,第一个相等的结点即为交点。 阅读全文
posted @ 2017-11-13 13:40 青儿哥哥 阅读(1946) 评论(0) 推荐(0) 编辑
摘要:还可以使用递归实现 阅读全文
posted @ 2017-11-13 11:07 青儿哥哥 阅读(302) 评论(0) 推荐(0) 编辑
摘要:ICMP协议简介 l ICMP网际控制报文协议,通过它可以知道故障的具体原因和位置。 l 由于IP不是为可靠传输服务设计的,ICMP的目的主要是用于在TCP/IP网络中发送出错和控制消息。 l ICMP的错误报告只能通知出错数据包的源主机,而无法通知从源主机到出错路由中途所的所有路由器。 l ICM 阅读全文
posted @ 2017-11-10 11:24 青儿哥哥 阅读(2330) 评论(0) 推荐(0) 编辑
摘要:SSL协议简介 SSL简介 Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。当前 阅读全文
posted @ 2017-11-09 22:09 青儿哥哥 阅读(2216) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std; struct node{ int value; struct node *next; }; struct node *head; void insert(struct node * &head,int value) { if(head == NULL) { head = new s... 阅读全文
posted @ 2017-11-04 10:53 青儿哥哥 阅读(349) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std; struct node{ int value; struct node *next; }; struct node *head1; struct node *head2; void insert(struct node * &head,int value) { if(head == NULL) {... 阅读全文
posted @ 2017-11-04 10:42 青儿哥哥 阅读(495) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示