
linux c
文章平均质量分 82
Main_m
互联网小兵一枚
展开
-
linux 下malloc的探究
前几天看《操作系统:精髓与设计原理》的虚拟存储系统的时候想到个问题,一个程序是否可以无限制的分配内存空间。今天刚好有点时间,就写了个小程序试了试。程序如下#include#includeint mian(){ int *p; int i=0; while(1) { p=(int *)malloc(sizeof(char)*102原创 2013-10-20 16:07:19 · 2306 阅读 · 0 评论 -
Linux编程---线程
首先说一下线程的概念.其实就是运行在进程的上下文环境中的一个执行流.普通进程只有一条执行流,但是线程提供了多种执行的路径并行的局面.同时,线程还分为核心级线程和用户级线程.主要区别在属于核内还是核外.核心级线程,地位基本和进程相当,由内核调度.也就是说这种系统时间片是按线程来分配的.这种线程的好处就是可以适当的运用SMP,即针对多核CPU进行调度.用户级线程,在用户态来调度.所以相对来原创 2014-06-21 08:11:19 · 1083 阅读 · 0 评论 -
Linux编程---套接字
网络相关的东西几乎都是建立在套接字之上.所以这个内容对于程序员来说还是蛮重要的啊.其实套接字也就是一个特殊的设备文件而已,我始终不能明白为什么要叫套接字.这么个奇怪的名字.不过还是就这样算了吧.关键还是编程上.由于其重要性,我还是写的详细一点吧. 一.套接字核心函数: int socket(int domain,int type,int protocol);这个函数在通信域d原创 2014-06-20 21:24:09 · 1209 阅读 · 0 评论 -
Linux编程---时间相关
时间相关的东西很难分类.所以我就写一篇好了. 一.系统时间1.time函数time_t time(time_t *tloc);double difftime(time_t time1,time_t timeo);time返回系统自1970年1月1日以来,经历了多少秒的时间.同时可以通过返回值和参数来得到.difftime则返回两个参数的时间之差.并且结果是作为双精度浮点原创 2014-06-18 21:56:54 · 941 阅读 · 0 评论 -
Linux编程---I/O部分
很多函数都可以在网上找到,也比较基础,所以原型只给出了函数名.具体用到再man吧.输入输出是个很重要的一块内容.几乎网络相关的东西基本都是靠底层IO调用来实现的.好吧.还是先踏踏实实的介绍一下C标准库中的IO函数吧.个别函数我也是第一次见.对于不太常见的我就多解释一下,反正通常这些函数百度一下就清楚了,我就不多解释了~1.C标准库IO函数1.1流的关闭开启与重定向fopen:打原创 2014-06-16 14:29:21 · 1092 阅读 · 0 评论 -
Linux编程---进程基础
进程这个概念大家都很熟悉了吧...我就不多说了.. 首先是进程环境.也就是Shell相关的内容.这都是很基础的我就挑一些我自己都不太清楚的写写.一.命令行参数POSIX对命令行的语法约定:1.实用程序名至少两个,至多9个字符,且只包含小写字母和数字.(Linux应该不止9个吧.我觉得这是Unix下shell的规定).2.选项名必须是但个字母或者数字,-W选项保留给原创 2014-06-15 21:14:53 · 1148 阅读 · 1 评论 -
Linux编程---信号处理
信号是一种异步的进程间通信的方式.但是这种通知方式能交换的信息很少.只能说给一个事件的标志.类似单片机中的中断,强迫进程停止做当前应当做的事情,而去执行中断执行程序. 信号的产生有如下几种:1.用户按下了某个终止键,如ctrl-\或ctrl-c.是由终端程序向当前进程发送一个中断信号.2.程序异常.比如除零错误.3.kill函数向其发送了一个终止信号4.进程向自己发送信号.原创 2014-06-19 23:15:14 · 925 阅读 · 0 评论 -
Linux编程---进程通信
Linux的通信方式主要有分类有下面几种:-匿名管道和FIFO有名管道-消息队列,信号量和共享存储-套接字.对于套接字的进程通信,我就留在套接字的文章中再写了. 一.管道管道是最古老的进程通信机制了.提供进程间的单向通信.1.创建管道int pipe(int fdes[2]);实际上管道通过参数返回读和写的两个文件描述符.相当于是打开了两个文件吧.但是这个文原创 2014-06-17 14:24:01 · 1012 阅读 · 0 评论 -
Linux编程---一些系统相关的说明
原来自学过几次linux,但都没怎么实践(其实这次也是...).很多时候知识点还是混乱的.经过上学期的汇编总结,发现总结一下知识点还是蛮有好处的.自己在整理过程中,相当于是反刍了一次知识.也把遇到的一些问题更深入的探究了一番,所以这次继续上次的形式~ 1.一些系统相关的说明性的东西1.1头文件保留字的规则:--以字母E后随一数字或大写字母开的头名字,保留作为错误代码名--以’l原创 2014-06-17 14:21:56 · 621 阅读 · 0 评论 -
关于程序的bss段,堆区,栈区的一些学习。
写汇编总结引发的思考,总结这东西还真是得多写。 在学习汇编的时候,书上并没有区分堆栈的区别。并且没有说明bss和堆不是一个东西,搞得我以为队和bss就是一个东西。所以我就纳闷,malloc是从堆中分配空间,那么为什么分配后里面的值不是0? 于是查资料学到了很多东西,写篇博客存个档~我所说的全部是在linux下的。 然后进一步的问题就来了,第一个问题:堆和栈的区别有哪些呢?原创 2013-12-29 20:32:19 · 2049 阅读 · 0 评论