置顶文章

精选分类

文章列表

10k 10 分钟

# 线程管理 # 基本操作 # pthread_create 创建一个线程 #include <pthread.h>int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_routine)(void *), void *restrict arg);Parameter: thread --- 返回一个唯一的线程 ID attr --- 可以指定线程属性对象,或者以 NULL 为缺省值 start_routine ---...
2.5k 3 分钟

# 串口测试 1、获取串口号 一般串口都是以 /dev/ttyS# 的格式显示,所以第一个连接的串口就是 /dev/ttyS0 ,第二个连接的串口就是 /dev/ttyS1 … 以此类推。 USB 转串口适配,没有额外驱动,它们会显示为 /dev/ttyUSB# ,如 /dev/ttyUSB0 。 可以通过如下命令获取: ls -l /dev/ttyS*note: 一般来说,通过 ls -l /dev/ttyS* 获取出来的串口是包含虚拟串口和存在但未连接的串口,这时候可以通过 cat /proc/tty/driver/serial 来获取真实连接的串口,或者使用 dmesg | grep...
3.8k 4 分钟

# 关键字 # weak 关键字 一般用法: __attribute__((weak)) ,用于定义或声明对应的函数是一个 weak 属性。 在 Linux 开发环境中,有强符号和弱符号,符号简单来说就是函数、变量的名字,对于全局(非局部、非 static )的函数和变量,能不能重名是有一定规矩的,强、弱符号就是针对这些全局函数和变量来说的。 符号类型 对象 强 函数名,赋初值的全局变量 弱 未初始化的全局变量 当代码中同时存在多个强或弱的全局变量时,要遵守如下规则: 强符号只能定义一次,否则编译错误; 强弱符号同时存在,以强符号为准; 没有强符号,则从多个弱符号中任选一个,用...
『转载』 830 1 分钟

# 功能 _exit () :退出程序。 exit(0):运行正常退出程序; exit(1):运行异常退出程序; return():返回函数,若在主函数中,则会退出函数并返回值。 # _exit () 和 exit () 区别 exit () 会将缓冲区的数据写完再结束进程到内核中去(退出进程会清理 I/O 缓冲区)。 _exit () 直接结束进程进入到内核中。 exit () 函数定义在 stdlib.h 中,_exit () 定义在 unistd.h 中。 图示: 示例: _exit() #include <stdio.h>#include...
1.7k 2 分钟

方法一: 通过在 虚拟机设置 中的 硬盘 项,进行 碎片整理 和 压缩 处理。 方法二: 清空虚拟机系统的回收站 在 Ubuntu 下,删除了某些文件,而当准备清空回收站的时候,却发现无法清空,打开回收站,在里面进行文件删除时提示 “Failed to delete the item from the trash”。 解决方法如下: 打开桌面的主文件夹,按组合键 Ctrl+H(显示隐藏文件),找到以下路径: /home/user/.local/share/Trash (注:user 是用户名,根据你的用户名而变)。 在上面的路径下点击鼠标右键,选择 “在终端中打开”。 运行命令 sudo...
『转载』 8k 8 分钟

# 数据结构定义 # 比较函数指针 typedef int (zlist_compare_fn) ( void *item1, void *item2);# 析构函数指针 typedef void (zlist_free_fn) ( void *data);# 节点 typedef struct _node_t { struct _node_t *next; // 指向下一个节点 void *item; // 节点当中的元素 zlist_free_fn *free_fn; // 元素对应的析构函数} node_t;# 链表 struct _zlist_t...
2.1k 2 分钟

# 简述 net-tools 起源于 BSD 的 TCP/IP 工具箱,后来成为老版本 Linux 内核中配置网络功能的工具。但自 2001 年起,Linux 社区已经对其停止维护,甚至一些 Linux 发行版比如 Arch Linux 和 CentOS/RHEL 7 则已经完全抛弃了 net-tools,只支持 iproute2。 iproute2 的出现旨在从功能上取代 net-tools,是目前主流 Linux 所配带的网络套件,同时提供 net-tools 下 ifconfig 和 route...
8.2k 8 分钟

# 常见网络配置工具包 配置「Linux 操作系统」的网络有以下几款主流的配置工具可供选择: 配置工具 说明 ifupdown 用来启动 / 关闭网络的标准工具(Debian 及部分衍生版本特有),配置文件在 /etc/network/interfaces 。 systemd-networkd systemd 是许多发行版默认的 kernel 程序,其中 systemd-networkd 组件可用于网络配置管理,配置文件在 /etc/systemd/network/ 。 NetworkManager 一个为桌面版提供的图形化前端工具,也可以使用内嵌的 nmcli 和 nmtui...
3.4k 3 分钟

# shell 和 bash 在计算机科学中,shell 俗称壳(用来区别于核,核是指 “内核”),shell 是指 “提供使用者使用界面” 的软件(命令解析器)。它类似于 DOS 下的 command.com 和后来的 cmd.exe 。它接收用户命令,然后调用相应的应用程序。 在很多并不正式的场合,这两个名词表达的意思相同,即命令解释器。但从严格的意义上讲,命令行是指供用户输入命令的界面,其本身只是接受输入,然后把命令传递给命令解释器,后者就是 shell,从本质上讲,shell 是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口,用户在命令行中输入命令,运行在后台的...
33k 33 分钟

# Debian 安装 需要注意的几个点是: 安装语言的时候选择英文安装,否者会造成部分乱码,至于后面想要使用中文,安装完成后再配置就好了。 配置软件包不需要选择网络镜像,后期再配置镜像源。 勾选 ssh 服务,以方便远程操作;至于是否选择图形界面,随个人喜好。 # 基本配置 # 添加 sudo 管理组 your_name is not in the sudoers file. This incident will be reported. 出现这种情况一般是你用普通用户键入 sudo 命令,但这个用户又没有加入 sudo 组上面,导致权限不够。 解决: 添加设置默认网关su...