自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杜恒其的博客

记录学习过程中的一些思考和收获

  • 博客(19)
  • 收藏
  • 关注

转载 解决curses中文乱码问题

问题的解决方案也是我自己百度的,我把方法和觉得应该注意的地方写一下1、引入本地头文件  在main函数文件中添加#include 头文件 (用make的话放在myhead.h就可以)2、改变引入的curses头文件  将#include 或#include 改为#include   这时如果编译出错,显示没有ncursesw.h文件 ,则继续使用#include

2017-03-31 20:53:11 2208

转载 TCP/IP四层模型和OSI七层模型的概念

TCP/IP四层模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI的第四层)。  TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮

2017-03-25 23:52:22 261

转载 学习Linux的几点忠告

转载地址:http://wiki.ubuntu.org.cn/index.php?title=%E5%AD%A6%E4%B9%A0linux%E5%87%A0%E7%82%B9%E5%BF%A0%E5%91%8A&variant=zh-cn作者:王垠目录[隐藏]1 不要当“传教士”2 不要强迫自

2017-03-25 23:50:07 260

原创 条件变量经典实例

/*这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经装满产品且尚未

2017-03-25 23:32:08 1245 1

原创 解决线程间对共享资源的竞争

进行多线程编程,因为无法知道哪个线程会在哪个时候对共享资源进行操作,因此让如何保护共享资源变得复杂,通过下面这些技术的使用,可以解决           线程之间对资源的竞争:                1 互斥量Mutex                2 信号灯Semaphore(不做介绍)                3 条件变量Conditio

2017-03-25 22:36:36 2430

转载 linux常用的时间函数

一、linux时间函数总结  写停车场系统时需要用到时间函数,就百度了下,下面是转载某位博主的内容,看不懂得程序,自己敲一下也就懂了:   asctime,  ctime, gmtime,localtime, gettimeofday,  mktime, asctime_r, ctime_r, gmtime_r,localtime_r二、常用

2017-03-20 23:40:26 300

原创 多线程编程实例

有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....程序:#inclu

2017-03-20 00:26:59 259

原创 多线程编程

使用多线程的理由:1,和进程相比,它是一种非常“节俭”的多任务操作方式.在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式2,     线程间方便的通信机制。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过进程间通信的方式进行,这种方式不仅费时,而且很不方便。线程则不

2017-03-20 00:18:58 232

原创 程序:进程间通信——有名管道实例

有名管道(命名管道)命名管道和无名管道基本相同,但也有不同点:无名管道只能由父子进程使用;但是通过命名管道,不相关的进程也能交换数据#include #include int mkfifo(const char * pathname, mode_t mode)pathname:FIFO文件名mode:属性(见文件操作章节)    

2017-03-19 00:24:34 564

原创 程序:进程间通信——无名管道实例

无名管道由pipe()函数创建:                int pipe(int filedis[2]);    当一个管道建立时,它会创建两个文件描述符:filedis[0] 用于读管道, filedis[1] 用于写管道(不固定,也可倒过来)通常先创建一个管道,再通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道

2017-03-19 00:12:54 511

原创 进程控制编程

进程:进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元程序是放到磁盘的可执行文件,进程是程序执行的实例进程和程序的区别:进程是动态的,程序是静态的                                进程是暂时的,程序是长久的                                进程与程序的组成不同             

2017-03-18 23:53:20 513

原创 字符,字符串输入示例程序;屏幕清除函数实例

注意:博主是在红帽中运行的程序,有时候程序编译运行后,窗口跳不出来,需要在refresh后面或前面加getchar();字符,字符串输入:#include#include#includeint main(){    char str[20]; char *pstr; initscr(); crmode(); printw("file

2017-03-15 23:00:50 464

转载 初识curses (简单常用的函数简介)

如果可以尽量看 《unix/linux下curses开发指南》这本书,更详细。initscr()     初始化为curses 模式,用来清除屏幕上所有的字符 endwin() 退出curses 模式refresh()  告诉curses系统将缓冲区的内容输出到屏幕上。move (int new_y, int new_x) 把逻辑光标的位置移动到指定的地点(行、列)

2017-03-15 22:46:37 2089

转载 linux下curses的安装

博主使用下面方法已经成功安装curses库是可以在linux终端中写出字符用户界面的一个库,现在较新的版本应该是ncurses库,现在已经很少有人再去使用他了,所以想拥有这个库并且在linux下写出自己用户界面的可以参考一下本博客,在网上搜了一下,所有的都是基于Ubuntu的安装方法,都是在联网方式下输入一句shell命令,但是我们如果装的是虚拟机不能联网怎么办,我现在提供

2017-03-14 14:26:14 1223 1

原创 库函数

c库函数是独立于操作平台的FILE *fopen (const char *filename, const char *mode)filename 打开的文件名  mode 打开模式函数原型 typedef stuct{    int cnt; (余下的字符数)    char *ptr; (指向下一个操作位置)    char *base; (缓冲区地

2017-03-09 21:11:49 398

转载 库函数与系统调用的区别

系统调用与库函数的区别Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调

2017-03-09 21:07:26 304

原创 库函数

c库函数是独立于操作平台的FILE *fopen (const char *filename, const char *mode)filename 打开的文件名  mode 打开模式函数原型 typedef stuct{    int cnt; (余下的字符数)    char *ptr; (指向下一个操作位置)    char *base; (缓冲区地

2017-03-09 00:19:06 283

转载 errno列表

perrno,strerror 是错误信息打印函数函数strerror返回一个错误消息字符串的指针,其内容是由实现定义的,字符串不能修改,但可以在后续调用strerror函数时覆盖。函数perror在标准错误输出流中打印下面的序列:参数字符串s、冒号、空格、包含errno中当前错误码的错误短消息和换行符。在标准C语言中,如果s是NULL指针或NULL字符的指针,则只打印错误短消

2017-03-08 23:57:44 1566

原创 系统调用及用户编程接口(API)

系统调用:用户通过操作系统提供的接口(API)获得内核提供的一些服务程序的运行空间逻辑上是分离的,分为内核空间和用户空间。用户进程通常情况下无法访问内核空间。所有的进程会在内核中有一个文件记录表,记录表是有限的。文件描述符是一个非负整数,是一个索引值,指向内核空间每个进程的记录表Linux一点哲学,一切皆为文件(包括输入输出设备);故标准输入STDIN_FILENO

2017-03-08 21:41:35 3887

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除