- 博客(22)
- 收藏
- 关注
原创 【ubuntu】linux开机自启动
有的系统没有这个文件直接把执行脚本的命令写到这个文件末尾即可。查看该linux系统是否支持system V编写开机启动需要执行的mydemo.sh: 进入下面目录创建xxx.service文件 myauto.service内容: 加载到硬盘上:然后会自动创建一个软连接。手动测试一下:注意:shell脚本的 #!/bin/bash 或者 #!/bin/sh 一定不能省略。否则服务不能启动,但是单独运行脚本是可以的。查看当前系统运行在哪个级别上面 把脚本放
2025-04-14 14:39:44
1076
原创 【linux】ubuntu 用户管理
这样就可以修改/etc/sudoers的权限为只读的了,进而就可以使用sudo命令了。/etc/sudoers 的文件权限也chmod不了。由于我直接用普通用户加sudo,直接修改了/etc/sudoers的权限为664。修改好/etc/sudoers的权限,那么sudo就可以正常使用了。所以在修改/etc/sudoers权限时,先进入root模式。因为这个权限要检查/etc/sudoers的权限要是不可修改的。所以我就想着用其他方法切换到root用户,重新修改/etc/sudoers的文件权限为只读的。
2025-03-24 12:12:14
980
原创 【Vscode 使用】集合1
windows下,下载mingw64,。在mingw64/bin目录下找到mingw32-make.exe工具。复制一份改名为:make.exe,没错,就是那么简单,mingw64自带make工具,但是和我们习惯使用的make.exe工具名称不一样,所以终端才会报 make 不是内部命令。复制一份改名:make.exe在去cmd中试一下:然后vscode新建文件,编写代码即可。编写Makfile。在vscode中 添加终端。
2025-02-24 16:00:20
921
1
原创 【项目1】基于C51的电子密码锁
使用Proteus仿真软件开发,硬件包括AT89C51LCD1602、红、绿LED。具有清0和修改密码的功能。通过矩阵按键的输入,在LCD1602上显示,用来遮盖用户输入的密码。LCD1602和红、绿LED显示密。
2024-12-24 16:18:42
312
1
原创 【keil5 小问题集合1】
ctrl+b,kill all 即可。target -> output -> Browse information(勾选上),返回点击全部重新编译,而不是部分编译。
2024-12-24 15:37:17
405
原创 【sf-3】删除相邻且相同的字符
给出一个字符串,找出相邻且相同的字符,并删除它们。在该字符上反复执行上述操作,知道无法继续删除。在完成所有重复项删除操作后返回最终字符串。限制:1<=输入字符串长度<=2000输入字符串仅为小写字母组成。
2024-12-24 15:33:42
235
原创 【sf-2】拿糖果(贪婪策略)
小明有N带果糖,每次可以从所有非空果糖袋子中分别拿出x个果糖,x大于0且小于等于每个非空袋子中糖果的数量,如果想把所有糖果拿完,最少需要拿几次?
2024-12-24 15:33:05
332
原创 【sf-1】矩阵之和
给你 n*n 的矩阵,所有元素全为0。每次操作有三个整数type、index、val表示。如果type=0,则将第index行所有元素修改为val。如果type=1,则将第index列的所有元素改为val。执行完operations里的所有操作后,返回矩阵所有元素之和。
2024-12-24 15:32:28
814
原创 vscode搭建C/C++环境
该文章参考:b站 鹏哥c语言命令面板:ctrl+shift+p(不行的话使用笔记本的按键)运行生成任务(编译):ctrl+shift+b创建终端:ctrl+` 或者 ctrl+shift+`注释:鼠标选中代码,ctrl+/分屏:ctrl+\关闭当前分屏:ctrl+w切换分屏:crtl+1/2/31.编译配置文件2、tasks.json文件(编译用的)3、launch.json文件(调试用的)g++.exe也可以用来编译.c文件,但是gcc.exe不能编译.cpp文件。
2024-12-24 15:31:41
1686
原创 【keil5 问题 1】keil5 Target空白
新建一个工程,突然发现target空白,没有编译器选项。这是因为没有指定ac5编译器。然后勾选微库、设置IROM和IRAM。
2024-10-07 16:32:52
1568
1
原创 ucosiii 消息队列
我想要验证的是,当没生产一个消息,队列中都会有一个最高优先级的任务就绪,消息会不会被低优先级的任务拿走。(因为cli_Msg是模拟邮箱,只有一个消息的空间,监控他的空间大小意义不大)。然后我把所有xxxxPend函数获取消息后,把消息的内容修改为”is null“,运行后:disp.t1_str出现"is null x",这是我们不想要的结果。所以,还是老老实实地用申请堆上的空间,来存放发送的消息吧,发送前申请空间,xxxxPend周就立刻释放掉空间,而不是使用全局变量。:消息对列,被读走,就没了。
2024-09-12 17:46:24
1829
原创 ucosiii信号量
信号量是一种解决多任务并发和同步的机制。:就是多个任务同时访问一个共享资源,这样容易造成任务获取资源的错误。:就是多个任务按顺序的占用CPU去执行。:一个共享资源,同一时刻,只允许一个任务进行访问。:有一个生产者和消费者问题(信号量初值设为0)。!!:一般用来处理互斥问题,即一个资源只能有一个任务访问。信号量初值设为1.):是一种特殊的二值信号量,一般来解决同步问题。。信号量分为 二进制信号量(0、1) 和 计数型信号量。二进制信号量,信号量=1时,该资源可以被使用。
2024-09-11 18:39:17
1813
原创 ROM\RAM\flash 傻傻分不清
固件程序被加载到RAM中(或者还在flash里),CPU就会执行RAM中的固件程序,需要什么数据就聪flash里面读取到RAM中,或者数据写入到flash中。CPU的寻址空间是指CPU能够直接访问的内存(包括RAM和其他类型的存储器,如ROM、Flash等)以及I/O设备的地址范围的总和。ROM中的启动代码会查找存储在flash中的开发者烧录好的固件程序,若固件需要与运行,会将其复制到RAM中的特定区域。上电后,CPU会从预设的启动地址(芯片内部的ROM或者外部flash的特定区域)读取指令。
2024-09-10 22:38:47
481
原创 【第5篇】c++ 函数重载
你是否在为 同一种功能,只是因为参数类型不同,但是调用时要调不同的函数而发愁?第二要满足:参数不同,具体表现在参数类型的顺序、参数的个数、参数的类型。参数类型不一样、函数名一样。编译器通过参数的类型去匹配具体的那个函数。函数重载:同一个函数名,写同一类功能的函数。常用来处理实现功能类似数据类型不同的问题。第一要满足:函数名相同。
2024-08-30 16:56:01
312
原创 【第2篇】c++ 引用
为什么c++加入引用的语法呢?因为有时候引用比指针的写法更简便。下面是运行结果:可以看到 变量a 和 变量b的内存地址是同一块。引用和指针在汇编代码上一摸一样。c++的引用,可以理解为 别名。
2024-08-29 22:29:13
169
原创 【第1篇】c++ 默认参数
若使用debug(0)所在的程序,会报以下错误:default argument given for parameter ....c++提供给函数的参数设置默认参数,即在调用函数时 不给对应置位的参数传参时,该形参会使用默认参数,否则使用实参。下面利用简单的自定义debug函数进行学习。(下面代码中注释很重要)使用debug(2)所在的程序,编译时就没有报错。
2024-08-29 21:23:26
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人