c
空谷人
明天的幸福,总是要今天来拼搏的
展开
-
gdb调试时出现Missing separate debuginfos
在用gdb调试出现这样原创 2014-11-07 11:02:24 · 5625 阅读 · 0 评论 -
守护进程的设计与实现
转载:http://blog.csdn.net/wanxiao009/article/details/5532929守护进程是Linux中的后台服务进程,一般都是在后台运行的,它的生存期比较长。一般都是系统自举时启动,系统关闭时终止。在Linux中,有一个系统与用户交互的界面,成为终端,很多进程的启动和停止都与终端有很大的关系,一般我们在Linux下编写的代码都是在终端下执行或转载 2015-01-14 15:19:45 · 1079 阅读 · 0 评论 -
程序、进程、线程区别与联系
定义: 一 程序只是一组指令的有序集合, 二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位; 三 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和转载 2014-12-25 23:50:41 · 442 阅读 · 0 评论 -
子进程和线程的区别
1、相同点:(a)二者都具有ID,一组寄存器,状态,优先级以及所要遵循的调度策略。(b) 每个进程都有一个进程控制块,线程也拥有一个线程控制块。(c) 线程和子进程共享父进程中的资源;线程和子进程独立于它们的父进程,竞争使用处理器资源;线程和子进程的创建者可以在线程和子进程上实行某些控制,比如,创建者可以取消、挂起、继续和修改线程和子进程的优先级;线程和子进程可以改变其属性并创建新的资转载 2014-12-26 00:04:23 · 479 阅读 · 0 评论 -
fork与vfork的区别
1.vfork保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。2.fork要拷贝父进程的进程环境;而vfork则不需要完全拷贝父进程的进程环境,在子进程没有调用exec和exit之前,子进程与父进程共享进程环境,相当于线程的概念,此时父进程阻塞等待。 为什么会有vfork呢?转载 2014-12-26 23:29:17 · 375 阅读 · 0 评论 -
关于malloc内存分配及查询实际内存方法
今天在用malloc分配内存时,想查看一下实际分配后的内存大小,一开始找到了microsoft的方法_msize,后来发现linux下没有相关的方法。不过最终找到了malloc_usable_size 这个函数的用法是返回调用malloc后实际分配的可用内存的大小下面贴上代码,如有什么问题,请拍砖啦:#include #include #include原创 2015-01-16 16:44:53 · 7839 阅读 · 2 评论 -
地铁当月打折后总费用计算公式分享
#includeint main(int argc, char * argv[]){ printf("地铁月票总价计算:\n"); int day_num = 22; //默认为22个工作日 int time = 2; //每天为来回2次计算 float price = 6; /原创 2014-12-29 18:39:46 · 1210 阅读 · 0 评论 -
malloc、calloc、realloc的区别
转载:http://blog.csdn.net/shuaishuai80/article/details/6140979(1)C语言跟内存分配方式从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执转载 2015-01-16 00:27:37 · 446 阅读 · 0 评论 -
http消息头
http消息头但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两转载 2015-01-18 20:08:58 · 474 阅读 · 0 评论 -
linux C守护进程编写
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。 同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不转载 2015-01-14 14:28:09 · 469 阅读 · 0 评论 -
openlog、syslog和closelog函数
转载:http://blog.chinaunix.net/uid-26583794-id-3166083.html守护进程日志的实现syslogd守护进程用于解决守护进程的日志记录问题,而日志信息保存的位置和记录的信息级别是在syslogd守护进程的配置文件中设定的。守护进程日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这转载 2015-01-14 17:07:53 · 542 阅读 · 0 评论 -
Linux下C语言开发之Makefile创建
我回来了! 上面我们通过一个hello world实例来简单的阐述了一个c源码如何编译最后到运行的这么一个过程,看起来貌似很简单的样子。其实实际项目中并没有这么简单,我们来下一个例子。本例中我们引入头文件的概念,看下面代码:头文件 (这里为了方便将三个文件中的信息写在一块了, 实际开发中不能这么写, 应该是单独的文件):123转载 2014-11-12 16:13:00 · 415 阅读 · 0 评论 -
automake,autoconf使用详解
本文地址: http://www.laruence.com/2009/11/18/1154.html转载 2014-11-13 15:39:56 · 480 阅读 · 0 评论 -
TCP 和 UDP 在socket编程中的区别
一、TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息 拥有大量Client 对数据安全性无特殊要求转载 2014-12-19 15:19:13 · 780 阅读 · 0 评论 -
sockaddr与sockaddr_in 在网络编程中的使用
struct sockaddr { unsigned short sa_family; char sa_data[14]; };此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。但一般编程中并不直接针对此数据结构操作,而是使用另一个与sockaddr等价的数据结构sockaddr_in(在netinet/转载 2014-12-19 11:12:01 · 545 阅读 · 0 评论 -
彻底搞定C指针-函数名与函数指针
转载自:http://blog.pfan.cn/whyhappy/6030.html 函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ My转载 2015-01-12 14:53:02 · 410 阅读 · 0 评论 -
linux 多线程编程
1.Linux“线程” 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。 大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓的“线程”只是在被创建时clone转载 2015-01-13 10:33:18 · 400 阅读 · 0 评论 -
Linux C 多线程执行顺序问题
转载:http://blog.csdn.net/harry_lyc/article/details/60557341:多线程设计通常是比较麻烦的,因为它牵涉到,线程间的同步、和执行顺序问题。在用户没有设定线程间的调度策略时,系统默认采取基于时间片轮转的调度策略。本实验是在默认的调度策略下,测试线程间的执行顺序问题。本实验用的系统为Ubuntu10.04 , Thread转载 2015-01-13 14:11:45 · 533 阅读 · 0 评论 -
Linux下syslog日志函数使用
许多应用程序需要记录它们的活动。系统程序经常需要向控制台或日志文件写消息。这些消息可能指示错误、警告或是与系统状态有关的一般信息。例如,su程序会把某个用户尝试得到超级用户权限但失败的事实记录下来。通常这些日志信息被记录在系统文件中,而这些系统文件又被保存在专用于此目的的目录中。它可能是/usr/adm或/var/log目录。对一个典型的Linux安装来说,文件 /var/log/messag转载 2015-01-14 16:32:20 · 741 阅读 · 0 评论 -
Linux下system () 函数详解简介
(执行shell 命令) 相关函数 fork,execve,waitpid,popen 表头文件 #include 定义函数 int system(const char * string); 函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c str转载 2015-01-05 23:24:35 · 500 阅读 · 0 评论