linux
文章平均质量分 96
应用编程学到的api
fsczp
这个作者很懒,什么都没留下…
展开
-
linux下用C语言实现HTTP客户端-获取网络时间-设置linux系统时间
源码#include <stdio.h>#include <sys/types.h> #include <sys/socket.h>#include <string.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <unistd.h>#include <stdlib.h&原创 2021-01-25 11:59:04 · 2744 阅读 · 3 评论 -
ortp学习记录-session-会话
大概这样去理解这些session都公用一条线路,为了能够分辨出哪个包是哪个session的ssrc=getenv("SSRC"); if (ssrc!=NULL) { printf("using SSRC=%i.\n",atoi(ssrc)); rtp_session_set_ssrc(session,atoi(ssrc)); } 用getenv这个api去获取一个指向SSRC环境变量的指针,通过这个指针里面的信息去包装这个session包(用rtp_session_set_ssrc原创 2020-09-25 19:48:43 · 211 阅读 · 0 评论 -
MT7601无线网卡驱动移植(2)-wpa_supplicant移植
参考1.朱老师物联网大讲堂《项目积木1:USB WIFI网卡在X210上的移植和使用最全攻略》2.wpa_supplicant-2.5移植与使用l3.wpa supplicant 移植编译平台:ubuntu18.04移植的平台:S5PV210(内核2.6.35.7)说明具体的移植步骤上面的三篇材料都讲得算很全面了,我也是根据课程,看着别人的参考链接上的步骤,先下载wpa_supplicant代码,下载openssl、下载libnl进行移植我遇到的问题之前是自己一步步移植,没有按照课程的步原创 2020-08-04 09:47:20 · 359 阅读 · 0 评论 -
MT7601无线网卡驱动移植(3)-配置部分
参考朱老师物联网大讲堂《项目积木1:USB WIFI网卡在X210上的移植和使用最全攻略》编译平台:ubuntu18.04移植的平台:S5PV210(内核2.6.35.7)安装驱动模块经过前一部分的移植(MT7601无线网卡驱动移植(1)-移植部分),得到 mt7601Usta.ko文件,在开发板命令行下执行insmod mt7601Usta.ko再执行lsmod...原创 2020-08-04 09:34:40 · 683 阅读 · 0 评论 -
MT7601无线网卡驱动移植(1)-移植部分
参考朱老师物联网大讲堂《项目积木1:USB WIFI网卡在X210上的移植和使用最全攻略》编译平台:ubuntu18.04移植的平台:S5PV210(内核2.6.35.7)移植时需要确认的事项1.进入开发板linux命令行下执行lsusb得到这个就是当前在USB总线上的ID号,前一半是厂商ID(VID),后一半是产品ID(PID)2.插入无线网卡后再执行lsusb得到一插入无线网卡系统就自动识别了 new usb device了此时多出的ID号就是新的设备的ID号3.解压设备驱动原创 2020-08-03 17:16:45 · 736 阅读 · 2 评论 -
Ubuntu18.04系统中,开发板linux2.6.35.7内核通过NFS挂载根文件系统失败的解决方法
本文参照资料:1.朱老师嵌入式软件工程师课程2. Ubuntu18.04系统中,开发板linux2.6.22内核通过NFS挂载根文件系统失败的解决方法.3. 关于ubuntu18.04版本系统中无法挂载开发板nfs文件系统的解决办法环境介绍开发板型号:S5PV210用于烧录的内核版本:2.6.35.7操作系统Ubuntu18.04问题描述VFS: Unable to mount root fs via NFS, trying floppy.原因ubuntu18.04只支持nfs原创 2020-06-16 13:10:05 · 536 阅读 · 0 评论 -
线程
文章目录回顾回顾前面有使用过异步IO(用signal函数、fcntl函数)、阻塞式IO(select、poll)来处理这个并发实践,要读键盘鼠标。当然也可以使用fork,创建父子进程,然后再父子进程里面分别去读键盘鼠标。**多进程的优点:**可以实现并发情况的处理**多进程的缺点:**进程间的切换需要的断点保护与恢复开销比较大,而且进程之间是fork出来的话就相互独立的,可以说,所以通信...原创 2020-03-21 13:07:38 · 197 阅读 · 0 评论 -
异步IO
文章目录一些背景知识signal函数的原型代码一些背景知识异步IO也能解决多路IO的问题。要结合fcntl和signal来实现。下面这段从man手册里面摘录下来的描述对理解怎么使用异步IO挺有帮助的,我看完例程之后不怎么懂,然后慢慢查man手册,看完这段就明了很多了。F_SETOWN (int) Set the process ID or process gr...原创 2020-03-16 21:47:00 · 415 阅读 · 0 评论 -
阻塞式IO 和非阻塞式IO
废话在前面在我的理解里面,阻塞式就是运行到那个位置之后就会一直等待到合适的信号才会继续进行,不然就会一直在那里等待等待,除非强制退出。然后这个等待呢不是就一直卡死的,是相当于把时间给其他有需要的程序,它自个在那里等待,不会一直耗着CPU不放。阻塞式的情况在只需要一路阻塞的时候还是挺有用的,但是如果有多路IO阻塞的话,这时候就需要排队解决,上一个阻塞的话下一个就不能运行,这就出现了困境。非阻塞...原创 2020-03-15 17:56:32 · 687 阅读 · 1 评论 -
linux网络编程学习-实战-服务器-客户端
文章目录一些API(上一篇的补充)acceptsendrecvhtons对上节的一些骨架进行丰满服务器的代码客户端一些API(上一篇的补充)acceptSYNOPSIS #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int ac...原创 2020-03-10 23:36:42 · 156 阅读 · 0 评论 -
linux网络编程学习
文章目录TCP协议建立连接终止连接相关APIsocketbindlistenconnectTCP协议简略讲一下工作方式1.建立连接需要三次握手2.终止连接要四次握手建立连接第一次握手:client向server发SYN,然后进入SYN_SEND状态(SYN = synchronous 同步的意思)第二次握手:sever收到之后,会回一个SYN+ACK给client,然后自己进入SY...原创 2020-03-01 17:35:10 · 372 阅读 · 0 评论 -
关于文件读写的一些其他记录
文章目录errno 和 perrorread和write中的count文件IO与标准IOerrno 和 perrorerrno - error number每个错误会对应一个error number,出错的时候就会return这个errno值,但是你不知道这个error number代表的是什么意思,这时候就需要perrorperror - print error可以把此时的err...原创 2019-11-20 23:38:00 · 195 阅读 · 0 评论 -
return、exit、_exit和atexit的化学作用?
文章目录文字记录实现代码解析文字记录这节课学了一点关于return、exit、_exit和atexit的关系。从man手册里面看到atexit是一个库函数。DESCRIPTIONThe atexit() function registers the given function to be called atnormal process termination, eithe...原创 2019-12-29 14:54:39 · 171 阅读 · 0 评论 -
简单的文件读写案例学习记录open、write、read
part1.要读写文件,需要用到open、read、write函数不同的函数需要用到不同的头文件,这些很难记住的,所以要善用linux的man手册。man 1 指令用来查linux里面的shell的,比如ls、cat、pwd、cd等等。man 2 指令用来查询linux里面的API的,application programme interfaceman 3 指令用来查询...原创 2019-11-18 16:45:27 · 494 阅读 · 0 评论 -
open函数常用的flags
在上一个博客中我也提到了O_RDWR、O_RDONLY、O_WRONLY这三个flag,还有一些也是比较常用的flag,这里总结一下O_TRUNCO_TRUNCIf the file already exists and is a regular file and the accessmode allows writing (i.e., is O_RDWR or O_WRONLY) ...原创 2019-11-18 21:00:35 · 812 阅读 · 0 评论 -
lseek的学习记录 移动文件指针用的
文章目录关于流的概念文件指针关于流的概念文件读写的时候是一个一个字符读写的,然后这些按着顺序读写的字符就构成了字符流,这些字符被动态连续的处理,形成了流。文件指针在windows操作文件的时候,会有一个光标来显示当前要操作的位置,这个位置就是文件指针。在linux中,文件指针不能被直接操作,可以利用read、write这两个函数进行间接操作,也可以用lseek这个函数来进行人为更改文件指...原创 2019-11-27 21:30:00 · 826 阅读 · 1 评论 -
dup dup2
dup- duplicate的意思,复制通过man手册里面也可以看到dup的作用是duplicate a file descriptordup和dup2的不同之处在于,dup分配的文件描述符是系统自动分配的,找到最小的然后自动分配,而dup2的话属于有半操作性吧,就是你可以规定分配哪个文件描述符。说了这些,那到底有什么作用呢。可以利用dup和close来对文件进行重定位。比如标准IO对应...原创 2019-12-05 13:08:17 · 205 阅读 · 0 评论 -
keywords : stat access chmod chown chgrp bit mask umask
stat 可以是一个函数进行使用,也是一个linux内核中的一个apiman 2 stat里面就展示了它的描述These functions return information about a file, in the buffer pointedto by statbuf.stat 就是用来 返回文件的各种信息的在terminal里面直接stat + 文件的话就显示了文件的各种信...原创 2019-12-10 22:57:52 · 121 阅读 · 0 评论 -
opendir和readdir
代码#include<stdio.h>#include<stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <fcntl.h>#include <d...原创 2019-12-17 22:42:57 · 917 阅读 · 0 评论 -
time ctime localtime...
man 2 time进入man手册查看time这个API的使用方法根据描述是get time in secondSYNOPSIS #include <time.h> time_t time(time_t *tloc);在这里我遇到了两个问题问题1:time_t 类型是什么类型?答:就是一种类型lor,在time.h里面有定义的。问题2:返回值是...原创 2019-12-23 21:51:21 · 682 阅读 · 0 评论 -
rand和srand的用法
文章目录rand和srand代码atoi用time来作为传入srand的参数取余符号 %rand和srand在man手册里面有讲述到,rand,rand_r和srand 都是与这个pseudo-random number generator有关的伪随机数字发生器,就是产生随机数的lorSYNOPSIS#include <stdlib.h>int rand(void);i...原创 2019-12-27 21:50:06 · 603 阅读 · 0 评论 -
getpid、getppid、getuid、geteuid、getgid、getegid
文章目录文字记录测试代码文字记录getpid、getppid等等这些都是获取id信息的APIDESCRIPTIONgetpid() returns the process ID (PID) of the calling process. (Thisis often used by routines that generate unique temporary filenames....原创 2019-12-29 15:33:26 · 1165 阅读 · 0 评论 -
fork 父进程?子进程 ?独立?关联?
说在前面:本来想一次性看完之后再写总结记录的,但是发现第一次连续看完之后,很多细节当时明白了但是过后自己写代码的时候又没能注意起来,所以还是边看边总结吧文章目录fork创建子进程从man手册查看fork结果图代码fork创建子进程从man手册查看forkSYNOPSIS#include <sys/types.h>#include <unistd.h> p...原创 2020-01-04 15:36:15 · 582 阅读 · 0 评论 -
fork之续---wait和waitpid
文章目录前言wait代码watipid总结前言进程运行的时候要占用资源的,当他们运行完之后要释放资源出来,如果没释放的话就叫做僵尸进程。DESCRIPTIONAll of these system calls are used to wait for state changes in achild of the calling process, and obtain infor...原创 2020-01-05 00:03:36 · 300 阅读 · 0 评论 -
exec族库函数的学习
文章目录main函数要传的参数代码就像这样子进入正题,exec族函数execl和execv代码注意总结main函数要传的参数通过这节课的学习才知道,其实main函数不仅可以穿argc和argv,还有一个环境参数env可以传进去。代码就像这样子#include <stdio.h>int main (int argc, char *argv[],char *env[])// ...原创 2020-01-18 00:26:46 · 323 阅读 · 0 评论 -
守护进程(daemon)笔记
文章目录ps命令kill什么是守护进程(daemon)守护进程用来干嘛写守护进程setsidchidirsysconf实现代码ps命令用来看进程号的ps -auxps -ajxps -aux | grep “syslogd”等等kill用来结束进程的kill -9 1234 ()1234是进程号什么是守护进程(daemon)守护进程(daemon)是一类在后台运行的特殊进程,...原创 2020-02-04 15:05:18 · 348 阅读 · 0 评论 -
用syslog记录调试信息+程序只能运行一次(实现)
今天有点懒这个也比较简单具体注意事项(自己写的时候发现的问题)都写在了注释主要是要仔细看man手册#include<stdio.h>#include <syslog.h>int main(void){ //这里第一个参数可以是null,然后在syslog里面会显示你执行文件的名字 //刚开始我直接写NULL,是可以的,后面试试想a.out,结果报错 /...原创 2020-02-04 23:21:51 · 163 阅读 · 0 评论