Makefile基础学习
Makefile基础学习
Makefile:描述哪些文件需要编译、哪些文件需要重新编译的文件,使用make命令对工程进行编译
本篇文章参考《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.7》的3.3 Makefile基础部分
1.示例1.1 代码
main.c
12345678910111213#include<stdio.h>#include "input.h"#include "calcu.h"int main(int argc, char **argv){ int a,b,num; input_int(&a,&b); num=calcu(a,b); printf("%d + %d =%d\r\n",a,b,num); return 0;}
input.c
123456789#include <stdio.h>#include "input.h"void input_int(int *a,in ...
《深入理解C指针》阅读笔记
本篇文章是《深入理解C指针》的阅读笔记。
printf函数的格式
格式控制符
说明
%d
按照十进制整型数据实际长度输出
%ld
输出长整形数据
%md
m为指定输出字段宽度,如果数据位数小于m则左端补空格,否则按照实际位数输出
%u
输出无符号整型数据,输出无符号整型也可以用 %d,这将无符号转换成有符号数,但没必要
%c
输出一个字符
%f
以小数形式输出单精度和双精度浮点数,不指定字段宽度由系统确定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入
%.mf
保留小数点后m位输出浮点数
%o
按照八进制整型数据输出
%s
输出字符串
%x
按照十六进制整型数据输出
%x、%X、%#x、%#X的区别
12345678910111213int main(){ int i = 47; printf("%x\n", i); printf("%X\n", i); printf("%#x\n", i); printf(&q ...
C:数组指针与指针数组
数组指针和指针数组1.数组指针
即数组的指针
123456int c[3];int a[3] = {4, 5, 6}; //int型数组int b[3] = {1, 6, 10};int (*p)[3]; //数组指针,指向包含三个int型数组的指针//优先级: ()>[]>*p = &a;
123456cout << "数组a的起始地址:" << a << "\n" << "数组b的起始地址:" << b << endl; -----------数组a的起始地址:0x61fdfc 数组b的起始地址:0x61fdf0
可以看到数组a和数组b位于栈空间上,a的起始地址大于b
12345678cout << "sizeof(a)=" << sizeof(a) << "\n" << " ...
Linux:创建用户和修改权限
一、创建用户1$ sudo adduser [USER]
[USER]为用户名
新的UNIX密码是该用户密码,然后其他信息输入根据需要选择是否输入(当然一路回车也可)
执行完上述命令后即可创建好用户(自动在/home目录下创建同名文件夹),此时默认用户权限为755即(drwxr-xr-x)
useradd和adduser的区别
useradd命令
123添加用户:sudo useradd -m 用户名 设置密码:sudo passwd 用户名删除用户:sudo userdel -r 用户名
使用useradd时,如果后面不添加任何参数选项,如sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell,因此利用这个用户登录系统,是登录不了的
使用useradd -m +用户名的方式创建,它会在/home目录下创建同名文件夹,然后利用passwd + 用户名为指定的用户名设置密码
adduser命令
1sudo adduser 用户名
使用adduser时,系统会提示你输 ...
MATLAB学习笔记
MATLAB学习笔记
注:本篇学习笔记来自《MATLAB从基础到精通》,书中采用MATLAB 7.0,因此后面相关函数在新版本MATLAB中可能需要做些修改才能运行。
第一章 MATLAB常用数据类型:
整型、浮点型、逻辑类型、结构体、元胞数组及字符串等
MATLAB数据类型在使用中与其他编程语言相比,有一个突出的特点,即不用对变量的数据类型进行定义,MATLAB软件会自动依据变量被赋值的情况,生成相应数据类型的数据。(和JavaScript有点像)
1.整型12>>whos %查看工作空间变量>>isinteger(value) %判断变量value数据类型是否是整型
intmin()和intmax()函数可用于确定整型数据类型的数据范围(最大值和最小值),其中intmin()函数用于求数据类型的下限,intmax()函数用于求数据类型的上限。
2.浮点型12single()/double()函数:单精度/双精度浮点型(32/64位)>> isfloat(value) %判断变量value数据类型是否是浮点型(是返回"1&quo ...
Python数据可视化笔记
图表基本组成
画布、图表标题、绘图区、数据系列、坐标轴、坐标轴标题、图例、文本标签、网格线等
matplotlib
用于数据可视化、绘制各种图表
matplotlib三步法绘制图表
引入matplotlib模块
使用其提供的plot等方法绘制图表
运行程序
图表常用设置
基本绘图函数
1matplotlib.pyplot.plot(x,y,format_string,**kwargs)
x/y:x/y轴数据
format_string:控制曲线格式的字符串,包括颜色、线条样式和标记样式
kwargs:键值参数,相当于一个字典
线条颜色设置
color参数设置线条颜色
通用颜色
其他颜色
设置值
说明
设置值
说明
b
蓝色
y
黄色
g
绿色
k
黑色
r
红色
w
白色
c
蓝绿色
#FF00FF
紫色
m
洋红色
0.5
灰度值字符串
线条样式设置
linestyle参数设置线条样式
线条样式
实线:’-‘
双划线:’–’
点划线:’-.’
虚线:’:’
标记样式
...
Ubuntu云服务器搭建内网穿透服务
本文是在Ubuntu 18.04云服务器上搭建FRP服务端,在windows上搭建客户端进行内网穿透。
FRP的GitHub下载链接:https://github.com/fatedier/frp/releases
根据需要下载对应的FRP压缩包
服务器端
下载对应版本的FRP压缩包
1wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_linux_amd64.tar.gz
解压FRP压缩包
1$ tar -xzvf frp_0.43.0_linux_amd64.tar.gz
删除frpc.ini和frpc两个文件
123$ cd frp_0.43.0_linux_amd64$ sudo rm frpc.ini$ sudo rm frpc
修改配置文件frps.ini
1sudo vim frps.ini
修改内容如下:
123456[common]bind_port = 7000 # 监听端口dashboard_port=7500 # 后台端口dashb ...
nginx和FTP搭建文件服务器
nginx安装1$ sudo apt install nginx
开机自启
1systemctl enable nginx.service
启动/重启/停止/查看状态 nginx
1systemctl start/restart/stop/status nginx.service
查看nginx版本
下面的三种方法均可查看nginx的版本
123$ nginx -v # 显示简要信息$ nginx -V # 显示详细信息$ curl -i localhost
启动nginx
1systemctl start nginx.service
直接ip访问确定nginx是否正常启动
出现上图字样表示nginx正常运行
nginx代理FTP服务器
配置FTP访问服务
参照之前这篇文章:
ubuntu云服务器搭建FTP环境
修改nginx配置文件
1vim /etc/nginx/nginx.conf
在nginx.conf的http块中添加如下内容:
123456789101112131415server{ ...
ubuntu云服务器搭建FTP环境
前言:这里采用vsftpd在Ubuntu 18.04云服务器上搭建FTP服务,支持匿名用户、本地用户和虚拟用户三种类型。
安装vsftpd1$ sudo apt install vsftpd
使用ps -ef | grep ftp命令查看是否开启了FTP服务进程,有如下进程表示开启成功。
设置开机自启动
1$ sudo systemctl enable vsftpd
查看FTP服务状态
1$ sudo systemctl status vsftpd.service
启动/重启/停止FTP服务
1$ sudo systemctl start/restart/stop vsftpd.service
匿名用户访问配置
创建FTP存放目录
123$ mkdir /home/ftp$ cd /home/ftp$ mkdir anonymous # 匿名访问目录
备份vsftpd配置文件
1sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
修改vsftpd配置文件
1sudo vim /e ...
LaTeX数学公式学习笔记
前言:这篇文章是我学习LaTeX数学公式时根据数学公式怎么敲?LaTeX保姆级教程讲解边看边写而成的学习笔记,留下作为记录.
注意:这里由于网页不方便渲染LaTeX,因此我将typora中的LaTeX渲染效果变为图片,其下代码即该LaTeX代码.
希腊字母
123456\delta,\lambda\\\Delta,\Lambda\\\alpha,\beta\\\Alpha,\Beta\\\phi,,\varphi\\\epsilon,\varepsilon\\
上下标英文字母只有在表示变量(或单一字符的函数名称)才使用斜体,其余情况使用罗马体(直立体)
12345678a^2,a_1\\x^{y+z},P_{ij}\\x_i,x_{\rm i},x_{\text i}\\\text{A B},\rm{A B}\\\text A B,\rm A B\\{\rm A} B\\\text{e},\text{i ...