![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UC编程
UC学习笔记
FML7169
这个作者很懒,什么都没留下…
展开
-
Linux系统编程:线程控制原语
线程原语线程概念 线程(thread),有时被称为轻量级进程(Lightweight Process,LWP)。是程序运行流的最小单元。一...转载 2019-10-12 11:31:33 · 172 阅读 · 0 评论 -
linux下线程同步的几种方法
Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex) 锁机制是同一时刻只允许一个线程执行一个关键部分的代码。 1. 初始化锁 int pt...转载 2019-10-12 11:25:36 · 166 阅读 · 0 评论 -
access()函数的解析
头文件#include<unistd.h>函数定义intaccess(constchar* pathname,intmode);参数说明pathname 是文件的路径名+文件名mode:指定access的作用,取值如下F_OK 值为0,判断文件是否存在X_OK 值为1,判断对文件是可执行权限W_OK 值为2,判断对文件是否有写...原创 2019-09-29 19:29:30 · 642 阅读 · 0 评论 -
lseek()函数的解析
头文件: #include <sys/types.h> #include <unistd.h>函数原型:off_t lseek(int fd, off_t offset, int whence);//打开一个文件的下一次读写的开始位置参数:fd 表示要操作的文件描述符offset是相对于whence(基准)的偏移量whence 可以...原创 2019-09-29 19:55:07 · 1672 阅读 · 0 评论 -
linux基础——linux进程间通信(IPC)机制总结
本文链接:https://blog...转载 2019-09-30 10:22:48 · 167 阅读 · 0 评论 -
Linux内存映射---mmap
一 mmap系统调用1.内存映射所谓...转载 2019-10-02 12:34:34 · 179 阅读 · 0 评论 -
进程控制原语——fork、wait、waitpid、exec族
1. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。头文件#include <unistd.h>函数定义pid_t fork(void);函数特点:调用一次,返回两次。在父进程中,返回创建的子进程的pid;在子进程中返回0;出错,返回-1。1.子进程复制了父进程的PC...原创 2019-10-02 12:42:38 · 2032 阅读 · 0 评论 -
Linux-进程、进程组、作业、会话、控制终端详解
Linux-进程、进程组、作业、会话、控制终端详解一、进程 传统上,Unix操作系统下运行的应用程序、 服务器以及其他...转载 2019-10-03 20:54:41 · 170 阅读 · 0 评论 -
【Linux】守护进程以及实现一个守护进程
...转载 2019-10-03 21:22:01 · 168 阅读 · 0 评论 -
dup/dup2函数
头文件#include<unistd.h>函数定义:int dup(int oldfd)//复制一个文件描述符,返回一个新的文件描述符,指向同一个FILE结构体int dup2(int oldfd,int newfd)//复制一个文件描述符,并且指定新的文件描述符是多少说明:dup和dup2都是用来复制一个现存的文件描述符,使两个文件描述符指向同一个...原创 2019-09-29 19:27:55 · 311 阅读 · 0 评论 -
Linux下目录操作
目录相关函数介绍//改变目录或文件的访问权限#include<sys/stat.h>int chmod(const char* path,mode_t mode);//mode为八进制//获取当前的工作路径#include <unistd.h>char *getcwd(char *buf,size_t size);//获取当前目录,相当与pwd...原创 2019-09-27 22:31:24 · 129 阅读 · 0 评论 -
Ubuntu下搭建ftp服务器
1.安装vsftpd服务器sudo apt-get install vsftpd2.配置vsftpd.conf文件sudo vi /etc/vsftpd.conf添加下面设置anonymous_enable=YES //允许匿名用户访问anon_root=/home/用户/ftp //匿名用户所在的根目录在哪个目录下面(也就是服务器共享目录),ftp目录是提前建好的目...原创 2019-09-24 10:17:11 · 320 阅读 · 0 评论 -
静态库与共享库
库library静态库在编译连接时就把库里的代码提取出来放入可执行文件中,程序执行时不再依赖库。动态库在编译连接时只记录了要用的名字在哪个库的文件中,运行时才库文件中找这个文件中名字(函数或变量)并且访问它1)静态库(归档)libxxx.a(1)生成库gcc -c xxx1.c xxx2.c //只编译不连接,产生.o文件ar -r libxxx.a xxx1.o x...原创 2019-09-25 22:25:44 · 448 阅读 · 0 评论 -
Linux下vi常用操作
创建终端Ctrl+shift+t创建终端标签Alt+n(n=1)新开终端Ctrl+shift+nvi下有三种模式1.命令模式命令模式切换到插入模式的方式:i:进入编辑模式,在光标前I:行首a:进入编辑模式,在光标后A:行末命令模式切换到行末模式shift+;2.插入模式插入模式切换到命令模式按Esc3.末行模式行末模...原创 2019-09-25 22:26:33 · 200 阅读 · 0 评论 -
C标准库和系统函数的区别
C标准库函数是工作在系统库函数之上的。C标准库函数在读写文件时候都有一个文件流指针。当我们调用C标准库的printf函数时,printf函数实际上不知道如何显示字符到显示屏上,而是去调用应用层的writeAPI函数接口,然后应用层的API函数会自动去调用内核sys_write函数,最后送到显示屏上显示。当我们打开一个文件时,实际上会返回FILE*结构指针,FILE* fp...原创 2019-09-26 11:51:01 · 894 阅读 · 0 评论 -
open()函数
表头文件#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>定义函数int open( const char * pathname, int flags);int open( const char * pathname,int flags, mode_t mode);...原创 2019-09-26 16:11:53 · 1175 阅读 · 0 评论 -
write()和read()函数的用法
头文件:#include<unistd.h>write()函数定义ssize_t write(int fd,const void*buf,size_t count);参数说明:fd:是文件描述符(write所对应的是写,即就是1) buf:通常是一个字符串,需要写入的字符串 count:是每次写入的字节数返回值:成功:返回写入的字节数 失败:返回-1并设置e...原创 2019-09-27 12:49:29 · 563 阅读 · 0 评论 -
fcntl()函数的用法
fcntl()的作用是根据文件描述符来获取或设置文件的访问控制属性头文件:#include <sys/types.h>#include <unistd.h>#include <fcntl.h>函数定义:int fcntl(int filedes, int cmd);int fcntl(int filedes, int c...原创 2019-09-27 13:03:03 · 452 阅读 · 0 评论 -
错误处理机制perror的详解
open打开文件失败的原因,Linux系统会去设置errno的值 (整型的全局变量)perrno会根据errno值(整型的全局变量)打印对应的错误信息其实 errno是一个错误编号,当错误发生时,每一个不同的错误都有一个编号,这个编号的值就会被存储在errno中,perrorh会根据这错误编号判断是什么错误发生了,并且打印对应的错误信息,打印错误信息的函数有perror(),stre...原创 2019-09-27 22:24:02 · 1248 阅读 · 0 评论 -
stat()函数的详解
头文件:#include <sys/stat.h>#include <unistd.h>函数原型:int stat(const char *file_name, struct stat *buf)// 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中int fstat(int filedes, struct sta...原创 2019-09-27 22:27:46 · 6633 阅读 · 0 评论 -
虚拟机及ubuntu16.02的安装步骤
安装步骤:1.开启虚拟化技术1)使用cpu-z securAble软件来检查:CPU是否支持VT虚拟化技术(64位电脑使用Ubuntu16.06才需开启虚拟化技术)用 cpu-z软件来检查,指令集有VT-x表示支持 打开securAble软件,显示64yes,表示支持2)重启电脑,进入BIOS,开启虚拟化(不同电脑进入BIOS的方法不一样)F2+Fn进入BIOS——>ad...原创 2019-03-22 13:39:31 · 419 阅读 · 0 评论