- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 后台结束AlibabaProtect.exe
安装阿里的软件后,莫名其妙安上了这玩意,然后后台占用CPU和内存较大,并且一旦通过任务管理器结束任务,立即CPU占用率飙升100%,属于流氓插件了。尝试了各种办法,win10系统,该软件安装在C/ProgramFile(x86)/Alibaba和AlibabaProtect中,但是卸载和删除文件都不行,因为程序正在运行,是在没办法,安了个360,用360强力粉碎文件了,然后再卸载360,但是该软件还在。然后用命令提示符的结束进程指令taskkill来尝试结束AlibabaProtect进程,结果提示该进
2022-04-19 11:16:20 2370
原创 C++ Linux环境下创建文件记录数据
#include <stdio.h>#include <string>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>remove("./log.txt");//先删除记录文件int fd; if ((fd = open ( "./log.txt" , O_WRONLY|O_APPEND|O_CREAT
2022-03-01 19:47:23 1575
原创 write/read int 类型数据
1、int大小int main(){ int a=0; cout<<sizeof(a)<<endl; return 0;}输出结果是42、写int类型数据int a= 10;write(socket,(char*)&a,sizeof(a));
2021-08-04 15:02:04 915
原创 Linux报错 No space left on device
参考使用df-h 和df -i分别查看磁盘空间和节点数发现/dev/vda1占用过多然后再/下查看文件占用空间再在/root下查看,发现一堆core.*的文件经查,这些都是程序报错(coredump)原因报告,全删掉就可以了,然后就ok了。...
2021-07-22 12:34:55 215
原创 多线程的write和read
对于write和read,由于缓冲区不足或者中断等问题,可能导致读不完或写不完,这也是为什么write和read分别返回的是成功的字节数的原因。所以书中给出了另一种操作readn和writen,保证了读写的完整性,但不保证原子性。 ssize_t /* Read "n" bytes from a descriptor */ readn(int fd, void *vptr, size_t n) { size_t nleft; ssize_t nread;
2021-07-17 20:45:35 1526
原创 C++11中的substr函数
这个函数可以提取字符串中的某一段,具体用法是:ss.substr(开始下标,总长度);string ss="1234567890";ss.substr(0,3);//123ss.substr(1,3);//234ss.substr(3,3);//456ss.substr(3,4);//4567注意:第二个参数不是结束下标!!!...
2021-07-07 21:16:41 330
原创 WAV格式文件通道数增加
WAV格式文件采用PCM编码,其头部信息总共有44个字节(可能不一定,有些可能有差异,但是这些信息不会影响后边的音频转换),我们要将通道数转换,需要先将头部信息内容进行修改,然后再在后面的音频信息存储中扩展。pcm wav格式转换C语言读取wav文件1、大小端确认大端是高字节存放到内存的低地址小端是高字节存放到内存的高地址intelx86是小端,ARM架构cpu默认是小端,也可以修改为大端,而Motorola680x motorola 的CPU以及51cpu都是大端。在写二进制文件的时候,是按
2021-06-14 12:06:06 1379 1
原创 Linux中不带缓冲区的write和带缓冲区的printf/fputs区别,以及Linux中的进程缓冲区拷贝
在Linux中,write是不带缓冲区的函数,也就是其写完以后不会在缓冲区中存储,直接写出。考虑以下代码1、使用fputs# include <unistd.h># include <stdio.h># include <stdlib.h># include <errno.h> int main(void){ FILE *stream; if ((stream = fopen ( "./log.txt" , "a" ))
2021-06-09 09:56:28 1374
原创 strlen和sizeof区别
char buf[20]="hello world"; printf("strlen(buf[20]) = %ld\n",strlen(buf)); printf("sizeof(buf[20]) = %ld\n",sizeof(buf)); char buf2[]="hello world"; printf("strlen(buf[]) = %ld\n",strlen(buf2)); printf("sizeof(buf...
2021-06-09 09:21:52 142
原创 Linux中的write及read字节数
write函数如果强行多写的话,会在后面以\0补充#include <unistd.h>#include<stdio.h>#include<error.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<iostream>#include<string.h>using namespace std;int m
2021-06-07 17:47:26 805
原创 multiple definition of `kvContainer[abi:cxx11]‘; CMakeFiles/server.dir/src/keyValue.cpp.o:(.bss+0x0)
这是全局变量定义的问题,如果我想在一个文件中定义全局变量,那么只能定义在cpp文件中,如果想要别的文件可以使用这个全局变量,则要早.h文件里定义extern xxx;参考文献如:在qq.cpp文件里定义一个全局变量,这样完全可以map<string,string> mm;//qq.cpp如果想在别的文件里使用mm,就在qq.h里面使用extern声明,如果不用就不用写extern map<string,string> mm;//qq.h现在就可以在main.cpp里.
2021-06-03 21:16:35 920
原创 fatal error: bits/stdc++.h 没有那个文件或目录 C++中提示无法调用<bits/stdc++>或者<map>等问题
今天碰到了个奇怪的问题,对于标准库<bits/stdc++>甚至库,在编译时都会提示找不到库刚开始我以为是编译器的问题,但是折腾了一顿还是不幸,最后发现,我是通过一个.c文件来调用一个cpp文件,在cpp文件中include了这些库,所以我把.c文件改为.cpp文件就好了。...
2021-06-03 21:04:41 3757 2
原创 C++中char*与string转换
(1)char*转换为string:直接赋值即可 char a[1024]="abcdefg"; string mm=a;(2)求char*(不包含\0)以及string的长度:strlen()函数cout<<"a.size:"<<strlen(a)<<endl;(3) string转化为char*参考文献注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char* c;string s
2021-06-03 18:22:37 20970 1
原创 Cmake环境下如何链接外部库
我们在使用Linux系统库pthread时,这不是系统库,除了在头文件中包含#include<pthread.h>外,还需要连接其静态库 libpthread.a,来创建多线程。gcc编译cmake编译如果不添加连接库,make时会出现如下提示:提示我们找不到这个函数,所以我们需要连接库add_executable(server main.cpp)TARGET_LINK_LIBRARIES(server pthread)注意:(1)格式TARGET_LINK_LIBRAR
2021-06-03 12:16:20 2371
原创 Linux系统函数查看流对象是行缓冲还是全缓冲还是无缓冲
Linux系统函数查看流对象是行缓冲还是全缓冲还是无缓冲有关全/行/无缓冲的区别在《UNIX环境高级编程》第三版131页有这么个程序(已化简)# include <unistd.h># include<stdio.h># include<error.h># include <stdlib.h> # include <errno.h> # ifdef _IONBF//等同于 #if define(_IONBF)int is_unbu
2021-05-24 20:06:21 208
原创 Linux下的实际ID(用户)与有效ID以及文件拥有者
Linux下的实际ID(用户/组)与有效ID参考文献.概要实际用户ID是谁拥有了这个文件(可执行文件,文件夹),有效ID是该文件执行时所具有的ID(权限),SUID(设置用户权限)是可以修改该文件的权限(特指二进制可执行文件)使得其在执行时具有实际用户ID的权限;而SGID是设置组权限,如果作用于文件夹,那么在该文件夹里创建的文件都是属于该目录所属的组。程序指令chown userid a.out : 设置该文件的用户IDchmod u+s a.out : 置位其中的SUID#include
2021-05-18 09:51:08 559
原创 vim编辑器使用(持续记录)
参考文章https://www.cnblogs.com/libaoliang/articles/6961676.htmlvim指令描述1.打开某个文件 sudo vim ./Desktop/abc.pyE进入编辑状态2、i 进入写字符3、ESC + ZZ 保存退出4、:+ q!强制退出不保存5、:+w保存
2020-06-08 09:10:40 258
原创 树莓派4B安装ubuntu20操作系统以及网络问题
前言最近买了个树莓派4b,4GRAM的,要装个ubuntu跑个ROS,捣鼓了一晚上+一早上,终于装上了,在此分享一下,和大家互相学习,有不对的地方希望各位多多指教[抱拳]。一下所有操作均来自与ubuntu官网教程树莓派安装ubuntu,虽然树莓派官网有安装树莓派操作系统的教程,但关于安装ubuntu并不详细,我用了,但卡在一步输入邮箱上了(我也不知道为啥,注册了就是不行);用网上其他教程,但本人由于用的是学校网络,需要认证乱七八糟的,虽然安装成功了但连不上网,所以改进了一下,可以用手机热点就能够上无线网,
2020-06-07 09:50:24 7888 8
原创 DSP28335与simulink进行串口中断模式通信并收发double类型数据
DSP28335与simulink进行串口中断模式通信并收发double类型数据一、DSP28335串口中断模式通信1.1、main函数1.2、UARTa_Init()函数1.3、运行结果二、与simulink进行串口通讯并收发double类型数据2.1 matlab中的模块2.2 DSP28335程序2.3、运行结果2.4、错误提示总结一、DSP28335串口中断模式通信本程序是DSP283...
2020-04-05 00:07:07 4915 3
dsp28335串口中断程序与simulink进行double类型通信源程序.zip
2020-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人