自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 c#(Visual studio)与python(pycharm)通信小demo

做毕设需要使用机器学习的小伙伴们看过来,在做好前后端后,想把数据库里的数据传到一个单独的模块(机器学习模块)进行数据处理得出一个预测结果。这个小样使用http通讯协议,前端将数据打包为一个json,通过http协议发送post请求后将数据传到服务端(pycharm):使用anaconda创建一个虚拟环境,只需要安装一个 HTTPServer包就行,安装命令。

2023-04-16 09:36:33 645

原创 前端VUE调用API实现重启后台

(平常前后端分离时可以使用,但项目打包成jar包后,使用的devtools依赖导致启动jar包失败)这是我的后台启动类,在里面加了个重启的方法。前端创建一个按钮,调用该api即可。前端methods方法。

2022-09-28 20:08:36 980

原创 Oracle数据库导入导出

进入PLSQL 工具栏TOOLS下的EXPORT TABLE选项,选择需要导出的表,左下角可以选择导出时是否带triggers触发器,该方法无法附带sequence导出。导入:imp 用户名/密码@数据库名 file=文件存储路径 fromuser=从哪个用户导出 touser=从哪个用户导入。导出前需要选择Export Executable执行文件,在Oracle安装文件里面的bin文件夹下找到exp.exe文件。导出:exp 用户名/密码@数据库名 file=文件存储路径 full=y。

2022-09-13 21:58:54 1060

原创 TCP客户端的实现

1用socket创建套接字文件,指定使用TCP协议2调用connect主动向服务器发起三次握手进行连接3调用read(recv)和write(send)收发数据4调用close或者shutdown关闭连接

2022-02-27 15:59:16 241

原创 TCP简单服务器的实现

#include<stdlib.h>#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<sys/un.h>#include<errno.h>#include<string.h>#include<netinet/in.h>#include<arpa/inet.h>#include<signal.

2022-02-24 15:28:17 1547

原创 TCP服务器API简介

套接字:传输层的文件描述符TCP的C/S实现——循环服务器模型TCP的服务器实现过程1创建套接字 socket函数2给套接字绑定ip地址和端口号:bind函数3将套接字文件描述符,从主动变为被动文件描述符(做监听准备)listen函数4被动监听客户的连接并响应:accept函数5服务器调用read(recv)和write(send),收发数据,实现与客户的通信6调用close或者shutdown关闭TCP的连接为什么要将套接字描述符转为被动才能建立连接?服务器和客户端必须要建立连接,建立

2022-02-23 19:32:17 702

原创 计算机网络 传输层&应用层

TCP协议传输控制协议 特点:面向连接、可靠的字节传输字节流传输 优点:面向字节流的好处是无需一次存储过大的数据占用太多内存缺点:无法知道这些字节代表的意义,导致粘包以及拆包问题TCP的报文格式端口号端口号的作用:确定和机器上哪个应用程序通信端口号的取值范围:标准端口号范围 0~1023,在unix的操作系统上,使用这些端口之一需要超级用户操作权限注册端口号范围1024~49151,是用于IANA注册服务的注册端口私有端口号范围49152~65535,未正式指定用于任何特定服

2022-02-22 20:10:12 1935

原创 计算机网络基础&网络层

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2022-02-22 14:53:45 84

原创 嵌入式底层驱动开发笔记2

字符设备驱动开发代码备注#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <linux/sched.h>#include <linux/init.h>#include <linux/cdev.h>#i

2021-05-12 15:05:30 203

原创 嵌入式底层驱动开发笔记1

一、开发板1\ bootloader的工作原理及作用?Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了,bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核,bootloader 和 Linux 内核的关系

2021-05-12 15:02:41 1890

原创 线程池

多线程存在的问题进程所支持线程数量问题(受限):线程的创建和销毁的开销问题1任务队列为空时,线程池里的线程阻塞等待任务队列不为空时,线程池里的线程处理任务任务队列为满时,不能添加新的任务#include<stdlib.h>#include<stdio.h>#include<pthread.h>#include<string.h>#include<unistd.h>#include<stdlib.h>#includ

2021-04-16 10:19:08 50

原创 消息队列2

线程退出:被动退出:int pthread_cancel(pthread_thread);1功能当次线程是死循环时,可以调动这个函数主动取消该线程2返回值成功返回0,失败返回非零3参数thread:要取消线程的TIDvoid pthread_exit(void *retval);1功能线程调用这个函数时,可以主动退出(终止)它和exit()很像,exit()是终止整个程序,而pthread_exit是终止次线程。如果你在次线程里面调用错误,调用的是exit,整个线程就终止了2返回值

2021-04-14 14:12:43 87

原创 消息队列笔记1

消息队列:传送有格式的消息流多进程网状交叉通信,实现大规模通信使用内核中的链表(实现机制)Posix的消息队列和系统V的消息队列区别消息队列是随内核持续的线程:什么是线程线程是进程的一个实体,它是程序运行的最小单位。为什么要学习线程1,线程是进程的一个实体,它是程序运行的最小单位,它比进程消耗更小的资源。2,能共享地址空间(进程)(堆栈:程序栈)线程由哪些组成1,指令指针(指向当前被执行的命令)2,一个栈(函数栈)3,寄存器的集合(状态寄存器:一部分正在运行中的处理器的状态)4

2021-04-09 16:33:37 63

原创 进程间通信

进程间通信(IPC)方式管道:有名管道和无名管道消息队列信号量共享内存套接字进程间通信的目的:1、数据传输:2、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程一个第一时间看到3、通知事件:一个进程需要向另一个或一组进程发送消息,通知他们发生了某种事件(如进程终止时通知父进程)4、资源共享:多个进程之间共享同样的资源,未做到这一点,需要内核提供锁和同步机制。5、进程控制管道通信:无名管道:一端写,一端读管道是半双工的,数据只能向一个方向流动必须在系统调用fo

2021-04-02 09:17:36 172

原创 进程控制

标题:进程控制1什么是进程:进程是可并发执行的程序,是一个在数据集合上运行的过程当一个程序开始执行后,在开始执行结束的这段时间里,它内存中的部分被称为进程。通俗讲:程序:在硬盘上可执行的文件进程:在执行中程序2.什么是并发3.多进程同时执行,多个任务同时执行。Linux虚拟内存管理技术物理内存:实际在处理器中的内存模块 几百M将硬盘中的一部分存储单元拿来当内存用 4g(受操纵系统的寻址范围影响)0x00000000-0-ffffffff操纵系统:内核空间:高地址 1g用

2021-03-31 09:34:17 85

原创 Linux文件操作2

3/27ftruncate:将指定文件大小修改成length指定的大小(用来给文件扩容,如果指定的大小小于当前文件,那就删除后面的数据)ftruncate(int fd,length)Ftruncate(fd,0)stdio.h:C的标准输入输出库:I/O(input output)stdout:输出流行缓冲:stdout在终端上进行输出的时候,输出的规则为每当出现换行符的时候,进行一次刷新缓存,然后再进行操作(printf输出的时候,是看到换行符才进行输出)fopen():r :只读w:

2021-03-28 22:45:18 53

原创 Linux文件操作1

3/23操作系统的五大功能模块是:处理器管理、存储器管理、设备管理、文件管理和作业管理。文件编程 进程线程编程 TCP/UDPLinux文件:文件本身包含的数据(打开文件可以看到文件信息)2.文件属性(元数据:文件的访问权限,文件大小,创建时间等)查看文件属性 ls -l目录也是文件之一(当前). :当前目录…:上一级目录/var:Cache:应用程序的缓存文件Lib:应用程序的信息、数据Local:usr/local中程序的信息Lock:锁文件Log:日志文件Opt:

2021-03-25 21:33:49 108 1

原创 shell笔记4

3/22expr +表达式 求表达式变量的值expr a+bexpr 命令格式:expr expression(命令读入expression参数,计算它的值,然后将结果写入标准输出)参数以用规则:1、用空格隔开每个项;2,用\(反斜杠)放在shell 特定的字符前面 对包含空格和功能的字符串要用引号括起来expr 2 + 2expr 3 % 4expr 3 * 53.计算字符串长度expr length “adsadasda”4,增量计数说明:expr 在循环中用于增量计

2021-03-24 09:54:49 119 1

原创 shell笔记3

标题shell脚本的编写3.19变量表达式test是shell程序中的一个表达式,通常用在流程控制for,while,until,if等结构中,用test命令去判断文件的存在与性质,变量的相互关系语法:test<表达式>如果<表达式>成立,test返回0,反之返回一个非零值字符串比较两个数值的比较逻辑操作,可以进行an/or,与其他条件联合使用文件操作,例如文件是否存在文件的状态等字符串比较-z<字符串>比较字符串的长度是否为0如果等于0则为是返回

2021-03-19 20:25:32 209

原创 shell笔记2

显示本地变量echo $变量名 或echo (变量名)eg # num=2#echo ”this is $numnd“#num=2#echo “this is ${num}nd”eg2要将name的内容多出”yes“两种方法#name=“KaTeX parse error: Expected 'EOF', got '#' at position 10: name”yes#̲name={name}yesunset (释放本地变量)格式:unset 变量名eg3在子shall下变量的

2021-03-19 20:15:17 99

原创 shell笔记1

3/17标准输入的文件描述符为0标准输出的文件描述符为1标准错误输出的文件描述符为2command >file 文件的命令重定向command 为要执行的命令表示输出重定向file 表示要重定向的文件名shell就是一个命令解释器,它为用户提供一个向Linux内核发送请求以便运行程序界面系统垃圾程序目前流行的几种shell:ash,bash,ksh,csh,zsh等#echo $SHELL管道pipecommand | command2 [command3…]将一个程序的

2021-03-18 11:32:37 53

原创 企业级MAKEFILE

unzip Desktop.zip 解压cp -r /mnt/文件夹/client . 将client文件复制到当前文件夹企业级Makefile 编写1.总控makefile:进入各个功能子目录执行make命令,并将所有.o文件生成可执行文件2.功能目录makefile:将功能目录下的所有.c文件编译成.o文件3脚本目录makefile:定义其它makefile文件所用到的变量阅读makefile顺序 3 - 1 - 2符号:1、(wildcard模式参数)查询eg:result:=(wi

2021-03-17 16:53:56 157 1

原创 make管理多个文件

标题 用工程管理器make 同时管理多个文件新建文件add.c文件mul.c文件div.c文件sub.c文件mian.c文件main.h文件makefile 文件编译

2021-03-15 15:53:28 130

原创 Linux 工程管理器 调试器

3.12嵌入式linux开发工具 - 调试器gdb1 gdb也是GUN计划(a\启动运行程序 b\设置断点)2 使用gdb之前:需要-g编译选 gcc -g demo.c -o demo3 学习gdb命令:gdb可执行文件 --tui gdb demo --tui4 运行命令:run(r) continue(c)5设置断点:break+行号 break+函数名 break +行号+条件6 查看断点信息 info break7删除断点 delete(d) +断点号8单步

2021-03-13 22:19:11 85

原创 Linux 静态库 和 动态库 的建立

3/11gcc -Wall hello.c 显示所有警告库文件:存放函数和变量的仓库,特点:只能使用库里的函数和变量,不能看到其实现静态库.a:当使用静态库时,库里的函数和变量只在编译时加载到可执行文件动态库.so:当使用动态库时,库里函数和变量只在运行时加载到可执行文件的;可执行文件:静态库>动态库(静态库效率高)可执行文件速度:静态库>动态库可执行文件的功能升级:静态库<动态库可执行文件的代码部署:静态库 >动态库linux库放在lib文件夹“”当前目录下

2021-03-11 22:34:42 76

原创 linux笔记

15:20 2021/3/10ifconfig 查看linux ipipconfig 查看windows ipcontrol shift +c复制vim 编辑器按 i或a进入插入模式 esc退出插入模式 shift zz退出 shift : 进入底行模式shift :q 回车退出 shift : q!回车强制退出在编辑器里 esc退出插入模式进入指令模式 yy复制行(10yy 十行 光标放在目标行前) p粘贴行 dd删除行 uu恢复行shift:wq 退出并保存底行模式下

2021-03-10 21:22:55 55

原创 2021-03-09

2021/3/9cd ~ 开始cd / 根目录ls 查看目录相对路径绝对路径 从根目录开始cd … 返回上一级clear 清空cd b +tap键查看当前目录下的文件su + 用户名 一键切换touch 1.c(超级用户) 新建一个文件adduser 添加用户(仅限管理员用户) sudo adduser+名字 (普通用户借管理员权限新建用户)sudo userdel 删除用户d 代表目录文件 - 代表普通文件 c/b 设备文件 I 链接文件 p管道文件 f 堆栈文件 s

2021-03-09 22:41:19 74

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除