![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 56
乘风破浪HH
乘风破浪会有时,直挂云帆济沧海
展开
-
【Linux-ARM】arm-sgmstar-gnueabihf-9.1.0-202007-gcc交叉编译openssl、curl静态库.a与动态库.so
Ubuntu18.04下嵌入式Linux的arm-sgmstar-gnueabihf-9.1.0-202007-gcc交叉编译openssl、curl静态库.a与动态库.so原创 2022-08-19 09:48:15 · 1370 阅读 · 1 评论 -
【Linux-ARM】电脑 WiFi 上网,开发板与电脑直连
目录1、准备工作2、VMware 设置 3、Ubuntu 设置 4、Windows 设置5、开发板设置 6、ping 测试7、小结使用场景:路由器离电脑比较远,只有一条网线。设备:电脑(Windows)、正点原子 Linux 开发板(出厂系统)、路由器/交换机、直通网线。如果是台式机没有无线网卡的话,可以使用正点原子的 USB 转 WIFI 模块来让电脑连接到WiFi。网络拓扑结构:打开 VMware Workstation Pro 里的 虚拟机 -> 设置设置网络适配器为桥接模式。因为电脑是 Wi原创 2022-06-17 03:00:00 · 3169 阅读 · 1 评论 -
【Linux-ARM】安装海思himix200交叉编译openssl-arm静态库与动态库
arm-himix200-linux arm-himix200-linux-gcc arm-himix200-linux-g++ readme.txt5、查看环境变量 cat /etc/profile 至此安装完成! Ubuntu 18.04 x86_64himix2000 编译工具链4、执行Configure脚本原创 2022-06-13 18:34:19 · 2399 阅读 · 4 评论 -
【Linux-ARM】arm-linux-gnueabihf、arm-himix200-linux交叉编译curl-arm 静态库.a与动态库.so
目录一、编译环境虚拟机环境下载源码二、arm-linux-gnueabihf 交叉编译 curl1、解压源码2、解压文件夹3、进入源码文件夹4、配置命令 5、make编译6、make install 安装7、查看编译动态库、静态库8、拷贝动态库、静态库9、拷贝include里面的头文件三、arm-himix200-linux 交叉编译 curl1、配置参数 2、make编译3、make install 安装ubutntu18.04curl - Download (7.69.1 对应原创 2022-06-13 18:32:37 · 1758 阅读 · 0 评论 -
【Linux-ARM】安装 arm-linux-gnueabihf 交叉编译openssl-arm静态库与动态库
目录一、编译环境1.1 openssl版本1.2 下载openssl源码1.3 交叉编译器:arm-linux-gnueabihf 二、安装安装 arm-linux-gnueabihf 交叉编译器2.1 交叉编译器源码下载2.2 交叉编译器安装2.3安装相关库2.4 交叉编译器验证三、交叉编译openssl-arm静态库与动态库3.1 相关配置3.2 make depend3.3 make编译3.4 编译结果 3.5 拷贝ssl、crypto静态库和动态库3.6 也可以将openssl 安装至配置过的目录原创 2022-06-12 20:20:45 · 10088 阅读 · 0 评论 -
【Linux Posix】Linux Posix编程入门(合集)
【Linux Posix】(01)Linux Posix 编程入门【Linux Posix】(02)Vim编辑器的使用【Linux Posix】(03)编译器gcc的使用【Linux Posix】(04)调试器gdb的使用【Linux Posix】(05)工程管理器make的使用(Makefile)【Linux Posix】(06)文件IO编程I - 文件的创建和读写【Linux Posix】(07)文件IO编程II - 文件的各个属性和目录操作【Linux Posix】(08)原创 2021-02-27 17:38:28 · 1294 阅读 · 0 评论 -
【Linux Posix】(20)网络编程III - 网络编程socket
目录网络服务器编程模型socketbindlistenconnectacceptsend_recv send和recv函数服务器例子和客户端例子服务器客户端网络服务器编程模型 函数名称 函数简单描述 附加说明 socket 创造某种类型的套接字 bind 将一个 socket 绑定一个ip与端口的二元组上 listen 将一个 socket 变为侦听状态 connect ...原创 2021-02-27 17:29:43 · 825 阅读 · 0 评论 -
【Linux Posix】(19)网络编程II - 网络编程基础;网络编程主要函数
目录1. 字节序列转换1.1 字节序列转换概述1.2 字节序列转换的函数1.3 地址格式转换2. 网络编程基础2.1 socket概述2.2 套接字的三种类型1. 字节序列转换1.1 字节序列转换概述实验结论:这台机器,内存低地址存放整数(即多字节数)的低位;内存高地址存放整数(即多字节数 )的高位(小端系统) 。小端系统 - intel系统(PC机)大端系统 - 整数高位存放低地址,整数低位存放高地址intel机器采用的主机字节序是小端.原创 2021-02-27 15:35:29 · 193 阅读 · 0 评论 -
【Linux Posix】(18)网络编程I - 网络知识介绍
目录1. IPv4包头结构2. TCP包头结构3. 建立一个TCP连接4. 结束一个TCP连接1. IPv4包头结构2. TCP包头结构ACK:acknowledge 确认SYN:syncronze 同步FIN:finsh 结束3. 建立一个TCP连接注:三次握手。4. 结束一个TCP连接注:四分节终止序列。...原创 2021-02-27 14:45:08 · 165 阅读 · 0 评论 -
【Linux Posix】(17)多线程编写II - 多线程间的同步
目录1. 杀死线程1.1 杀死线程的函数1.2 杀死线程的示例代码2. 多线程的同步2.1 多线程的同步函数2.2 多线程未同步时的问题示例2.3 多线程进行加锁和解锁同步的示例2.4 加锁方式的变体1. 杀死线程1.1 杀死线程的函数线程的杀死点:引起阻塞的地方,比如sleep,read,write等,还可以通过pthread_testcancel手动设置杀死点。1.2 杀死线程的示例代码2. 多线程的同步2.1 多线程.原创 2021-02-27 11:58:52 · 136 阅读 · 0 评论 -
【Linux Posix】(16)多线程编写I - 基础api
注:线程的pthread_jion函数类似于进程的wait或waitpid函数,如果等待线程未结束则阻塞,如果等待线程已结束则立即返回。gcc thrdcreat.c -o thrdcreat -lpthread原创 2021-02-27 11:06:59 · 165 阅读 · 0 评论 -
【Linux Posix】(15)进程间通信IV - 信号量
信号量的读写同步实现机制是通过P-V操作:P操作(-1):去查看信号量的值。如何信号量的值是1,那么把信号量的值减1(变成0),继续访问共享内存;如果信号量的值是0,进程就阻塞。V操作(+1):把信号量的值加1(从0变1),唤醒阻塞在信号量上的进程。/* writeshm.c */#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include ...原创 2021-02-26 15:36:44 · 197 阅读 · 1 评论 -
【Linux Posix】(14)进程间通信III - 共享内存
管道:A进程写入数据到管道,是用户空间切换到内核空间操作,B进程从管道读取数据,数据是从内核空间送到用户空间。用户空间和内核空间的数据切换是比较耗资源的。共享内存:直接把共享内存的地址空间直接映射到自己的地址空间内部,那么数据操作就一直都在用户空间,不涉及用户空间和内核空间数据交互问题,所以效率是最高的。*shmaddr:通常默认填写 0 , 让系统自动分配起始地址。shmflag:通信默认填写 0 。...原创 2021-02-26 11:11:30 · 172 阅读 · 0 评论 -
【Linux Posix】(13)进程间通信II - 管道
目录1. 管道通信2. 管道函数3. 命名管道(FIFO)1. 管道通信2. 管道函数 管道写端关闭管道读端关闭3. 命名管道(FIFO)/* rdfifo.c */#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <errno.h>#include &l...原创 2021-02-25 17:35:27 · 185 阅读 · 0 评论 -
【Linux Posix】(12)进程间通信I - 概述,信号
目录1.进程间通信概述2. 信号概述3. Linux 中的信号4. 信号5. 信号处理函数5.1 signal()5.2 kill() 和 ararm()1.进程间通信概述2. 信号概述3. Linux 中的信号2)SIGINT:按键Ctrl+C,中断信号3)SIGQUIT:按键Ctrl+\6)SIGABRT:调用abrt()函数发送的信号,进程异常退出9)SIGKILL:输入 kill -9 强制杀死一个进程的时候发送的信号.原创 2021-02-25 16:23:42 · 163 阅读 · 0 评论 -
【Linux Posix】(11)多进程编程IV - 综合案例(简化版的Shell程序)
综合案例:简化版的Shell程序(运用fork、exec、 wait函数)shellv2.c//shellv2.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#include <errno.h>#include <sys/types.h>#include <sys/wait.h>#include &l原创 2021-02-25 14:11:36 · 164 阅读 · 0 评论 -
【Linux Posix】(10)多进程编程III - wait与exec
父子进程间的同步 - wait子进程运行新程序 - exec#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/types.h>#include <unistd.h>#include <sys/wait.h> int main(void){ int fd, pid, status; char buf[10]原创 2021-02-25 11:18:18 · 335 阅读 · 0 评论 -
【Linux Posix】(09)多进程编程II - fork
目录1. 进程创建2. 父、子进程之间的继承3. 父、子进程之间的区别4. fork的基础用法示例5. fork的文件描述符fd的示例1. 进程创建2. 父、子进程之间的继承3. 父、子进程之间的区别4. fork的基础用法示例//test2.c 示例#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h原创 2021-02-24 17:36:28 · 186 阅读 · 0 评论 -
【Linux Posix】(08)多进程编程I - 进程概念与标志
text:代码段,来自程序文件中的内容Initializeddata:初始化数据段,来自程序文件中已经初始化的全局变量Uninitialized data(bss):bss段,未初始化的数据段,存放的是程序中未初始化的全局变量,并且初始化值为0heap:堆区,程序中调用malloc函数分配的内存空间,从下往上走,地址是从低到高stack:栈区,存放最多的是各个函数的参数和函数的局部变量,从上往下走,地址是从高到低Command-line:命令行参数...原创 2021-02-24 15:17:50 · 192 阅读 · 0 评论 -
【Linux】Linux 下串口编程入门
目录串口简介串口操作打开串口设置串口读写串口关闭串口例子相关主题串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个 25 个脚的 DB转载 2021-02-24 11:53:38 · 924 阅读 · 0 评论 -
【Linux Posix】(07)文件IO编程II - 文件的各个属性和目录操作
目录1. 文件属性1.1 stat 属性结构体1.2 文件类型1.3 文件权限2. 目录操作2.1 打开目录2.2 读取目录2.3 关闭目录2.4 操作示例1. 文件属性1.1 stat 属性结构体fstat:函数功能同stat函数一样,第一个传入参数为文件描述符lstat:对于软连接文件查看的是本身属性,上述的stat和fstat查看的是软连接指向文件的属性;其他文件三个函数是一样的功能1.2 文件类型1.3 文件权限.原创 2021-02-23 16:36:54 · 369 阅读 · 0 评论 -
【Linux Posix】(06)文件IO编程I - 文件的创建和读写
目录1. Linux系统调用与文件I/O2. 用户程序接口(API)3. 文件I/O介绍4. 文件描述符5. 文件I/O操作函数5.1 open函数5.2 create函数5.3 close函数5.4 read函数5.5 write函数5.6 lseek函数6. 文件IO操作示例1. Linux系统调用与文件I/O2. 用户程序接口(API)3. 文件I/O介绍4. 文件描述符5. 文件I/O操作函数5.1 open原创 2021-02-23 15:33:17 · 579 阅读 · 0 评论 -
【Linux Posix】(05)工程管理器make的使用(Makefile)
目录1. Makefile文件简介2. 一个简单的Makefile的例子3. Makefile编写规则4. make命令5. 一个带变量的Makefile的例子6. 预定义变量7. Makefile的隐含规则1. Makefile文件简介2. 一个简单的Makefile的例子3. Makefile编写规则4. make命令5. 一个带变量的Makefile的例子6. 预定义变量# 优化:OBJS = prog.o c.原创 2021-02-23 14:35:42 · 334 阅读 · 0 评论 -
【Linux Posix】(04)调试器gdb的使用
目录1. gdb调试器简介2. gdb最常用调试命令3. gdb使用进阶4. gdb使用小技巧提升效率5. gdb特殊使用方法1. gdb调试器简介2. gdb最常用调试命令break 设置断点,例如break 25 设置25行为断点(b是break简写 b main 设置main主函数断点)run 启动运行调试程序 (r 是run的简写)print i 查看变量i的值 (p是print的简写)step 单步执行,会进入到子程序内部 (s 是st.原创 2021-02-22 17:07:42 · 183 阅读 · 0 评论 -
【Linux Posix】(03)编译器gcc的使用
目录1. gcc的使用格式2.1 预处理:2.2 编译:2.3 汇编:2.4 链接:3. 后缀名 所对应的语言3.1 -I dir3.2 -l3.3 -DM4. 使用优化选项5.使用调试选项1. gcc的使用格式例如:gcc hello.c -o hello 或 gcc hello.c2. 程序编译过程例如:compile.c 源文件//compile.c#include <stdio.h>#define M.原创 2021-02-22 15:26:40 · 425 阅读 · 0 评论 -
【Linux Posix】(02)Vim编辑器的使用
目录1. Vim编辑器简介2. Vim的三种模式2.1 命令模式2.2 末行模式2.3替换实例2.4 恢复文件3. Vim的高级使用3.1 分割窗口3.2 用户设定1. Vim编辑器简介2. Vim的三种模式2.1 命令模式2.2 末行模式2.3替换实例2.4 恢复文件3. Vim的高级使用3.1 分割窗口3.2 用户设定...原创 2021-02-22 12:07:35 · 219 阅读 · 0 评论 -
【Linux Posix】(01)Linux Posix 编程入门
目录1. Linux的诞生与发展2. Linux系统结构3. Linux下C语言编程环境概述4. Linux下C语言编程的风格4.1 缩进、长行、{}与空格的放置4.2 变量和函数1. Linux的诞生与发展2. Linux系统结构3. Linux下C语言编程环境概述程序安装目录:/bin、/sbin、/usr/bin、/usr/sbin头文件:/usr/include库文件:/lib、/usr/lib(后缀名为 .so,.原创 2021-02-22 12:03:51 · 680 阅读 · 0 评论 -
【Linux C】Linux环境下编译静态库与动态库
目录1. 测试库的程序文件1.1 测试库的头文件test.h1.2 测试库的源文件test.c1.3 测试应用程序源文件 main.c2. 静态库的编译流程2.1 生成 test.o 的链接文件2.2 生成 libtest.a 的静态库文件2.3 生成 main 的可执行文件2.4 测试 main 运行结果3. 动态库的编译流程3.1 生成 test.o 的链接文件3.2 生成 libtest.so 的动态库文件3.3 配置动态库路径的环境变量3.4原创 2021-02-01 09:48:50 · 381 阅读 · 1 评论 -
【linux C】 实现HTTP get 及post 请求
实现linux C实现HTTP get 及POst请求,最原先打算使用libcurl库实现。但是考虑到和其他接口通信的情况,暂时使用C 来实现.代码可以自动解析URL连接,具体看下面代码:#ifndef _MY_HTTP_H#define _MY_HTTP_H#define MY_HTTP_DEFAULT_PORT 80char * http_get(const char *url);char * http_post(const char *url,const char * post_st转载 2021-01-30 19:40:15 · 815 阅读 · 0 评论 -
开启终身学习之旅
GitHub 资源OSSU 计算机科学自学:https://github.com/ossu/computer-science TeachYourselfCS:https://github.com/keithnull/TeachYourselfCS-CN 浙江大学课程攻略共享计划:https://github.com/QSCTech/zju-icicles 清华大学计算机系课程攻略:https://github.com/PKUanonym/REKCARC-TSC-UHT嵌入式 LinuxGNU转载 2020-08-25 11:20:00 · 1723 阅读 · 0 评论 -
ubuntu 如何查看内存和CPU的使用情况
ubuntu如何查看内存和CPU的使用情况?使用一下命令:gnome-system-monitor原创 2020-07-07 15:51:34 · 1989 阅读 · 0 评论 -
pip的时候出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………
pip的幺蛾子1.pip的时候出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………2.一、原因pip的时候各种关卡限制了它的网速,导致网速过慢或者安装失败二、解决方法(一劳永逸)国内的pip源,如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simp转载 2020-06-22 10:01:18 · 504 阅读 · 0 评论 -
ubuntu切换国内下载源
1、做好万全之策(备份)sudo cp /etc/apt/sources.list /etc/apt/sources.list.old2、使用编辑器,修改sources.list文件个人比较喜欢用nano,这个倒无所谓,用vi,vim都一样,选一个自己喜欢的就行 sudo rm /etc/apt/sources.list //可以先将原来的删除,再用nano编辑器重写一个 sudo nano /etc/apt/sources.list 3、替...转载 2020-06-16 10:27:34 · 1201 阅读 · 0 评论 -
Linux的常用命令(持续更新)
1、linux如何修改文件夹所属用户名和用户组1.1增加权限给当前用户文件权限chmod +wx filename文件夹权限chmod -R 777 /upload1.2 用户组 chgrp -R foldname hanhuichown -R 所有者用户名.组名 文件夹名称(中间有个英文小数点)例如:chown -R hanhui.hanhui test...原创 2020-06-10 17:48:08 · 136 阅读 · 0 评论