当前位置: 首页 > news >正文

2311极语言高亮说明书

入门

安装目录下Sec.exeide.Sc编译器.
.sec为单文件二进制源码结构,.SEC.极为多文件文本结构,命令行:cmd Sc.exe 源码路径.

基础

整数变量也可以是万能指针,传送参数,参数只有整数和小数两种.
可在名称前面加@或&符号取变量或函数名指针地址,文本变量只取地址不用加.

变量

小程序片段之内的变量局部变量,之外全局变量.作用主要是用来存取数据,传递参数,算法运算等等.
局部变量只有整数,小数,浮点和文本这四种类型,变量类型间可使用等号相互转换,语法:变量一=变量二,把右边变量类型转换成左边变量类型数据.
转换文本时可以拼接.转换数值时可以用表达式.

变量类型

变量类型:整数,小数,浮点和文本,布尔,字符,字节,整形,正整形,整数,小数,文本,浮点,日期,大数,类型,数据表
十六进制数字,用$或者0x表示,$0到$FFFFFFFF.
转义字符略.可以用\把单个文字转换为编码值.

整数 时间=0@2018-8-15 12:00;
整数 提示="提示消息";
文本 内容(16)="$374727774367008C7A";
内容="最终结果:" + 数值 ".总共" + 次数 "次"
查字符(str,\s);

$时,16=>2进制
如下,细节见说明书.
运算符号和标点符号:+-*/|^&%?++--!=!=<><>>=<=>><<||&&?@._"$::#\''///**/$0x0#0$0@()[]{}
指针操作:@~[][]%[]&反引反引%反引&()()%()&%&()$()!()###@#()#[]##_[]_[]%_[]&_[]$_[]!_[]#.().%.&.$.!.#.+.++<>
语法:程序段/结束/子类/数据表/读取表/检索/加数组/清零/调用/新建/对象/创建对象/控件对象/导入/引入/重命名/常量/类型/导出/返回/如果/如果是/否则/判断/循环/循环在/循环于/循环数组/跳到/跳转/跳出/支持库/局部/保留/重置/销毁/置入/指令/传址/字节组/输出文件/列举/别名/程序版本/程序类型/程序资源/程序图标.

语法示例

小程序(整数 a,文本b,字节 c);
子类{整数 变量1,变量2;小程序 登陆(账号)...结束;}数据表{整数 a,文本 b[16],字节 c;}自定义表头结构
读取表(数据库名,数据表头,[长度]);
检索(变量名,查询值,[长度]);
加数组(变量名,表名,[字段名]);
清零(变量名,长度,[设定值]);
调用 变量名(参数...);//动态调用dll.
角色=新建 玩家类(等级=1,性别=0);
对象 名称=对象名;
名称=创建对象 "WinHttp.WinHttpRequest.5.1"
对象名=控件对象 窗口名;控件对象 对象名,窗口名.
导入 StrStrI 支持库 "SHELL32.DLL",2;//有2个参数的函数
引入 "Windows.inc";
重命名 发送消息=SendMessage;//转换英文为中文.
常量 内容="SEC";
类型 Form{整数 hwnd;整数 WndProc;}
返回(N1* N2);
如果(消息=窗口关闭){停止(0);}
a =如果是(消息=0)10,500;
否则{返回(1);}
判断(消息)为 窗口关闭{停止(0);}
循环(10){...}
循环{...i--;}i=0停止;循环{...i+2;}(i=100)
循环在(a<1000){a++;}
For(i=0;i<100;i++){i从099,每次加1,循环一百次}
循环数组(ab){}
开头: .... 跳到 开头;
起点@ .... 跳转>起点;
整数 数组();重置 数组(20); 保留 数组(200);
整数 数组(); 重置 数组(200);
销毁 数组;
置入[字节 $68]; 置入[整数 $20];//相当于写机器语言
指令[6820088800];//连续的十六进制机器码
传址[$4001200,a];//写入指定内存位置
字节组 tmp[15,$20,60,128];
输出文件=exe//改扩展名.
列举 form{.s=1;.l=5;}//==form.s=1;form.l=5;
导入 信息框 别名 MessageBoxA lib "USER32.DLL",4;
程序类型 34//32+2.就是32位的控制台.
程序资源 10,"sec.jpg"//资源类型与文件名.
程序图标"sec.ico";

置入功能

置入指令类似于汇编DB/DW等,是在代码段插入指令数据.

置入[字节 15,20,40];
置入[整数 66,$204068AA];
置入[整形 $2040,88];
置入[小数 3.14];
置入[文本 "你好"];
置入[文本 50];
置入[地址 窗体];
置入[局部 参数];
置入[调用 加法];
置入[函数 信息框];
置入[@ 加法];

跳转.

数据表

直接读取数据到指定结构.
读取数据表是为批量读取数据库而设计的功能,可以自定义数据结构,然后无需使用ADO等对象,直接把数据读取到相应结构内存中.
只要把需要字段数据读取出来,还可直接改变数据类型.如数据库字段类型整数,程序需要把整数类型数据全部转换成小数类型.

同样的数值15,整数和单精度小数都占四字节,但是它们的数据却大不相同.程序定义为小数,数据库里是整数,就可以全部提取为小数数据.
读取后的数据表读写方法为:表名(行号).字段名,如:

lv=玩家表(0).等级;玩家表(3).职业=5;

表名.rows为行数,表名.cols为列数.
长(表名)获取类型结构每一行数据长度,表名.len申请数组长度,使用前需要重置 表名(数量).
申请长度数量要>=查询表的记录数,读取完数据之后,表名.rows为实际读取记录数.
数据表的序号是从0开始,100行记录就是按序号0-99获取.读取数据是一段连续存放内存,行列是连续整齐排列的.

文本,数组,指针操作

文本是一段文字数据,数组按数据类型连续排列数据,内存指针内存某个数据的位置.
它们都是用一个整数地址来表示所在位置,操作类似.

整数 s="sdkfskd";
s(0)=\b;整数 m;//内存地址
m(13)=128;//13处写入.
a=m(10);//读取
m(13)%=32128;a=m(2)%;//读取写入2字节,用%
m(13)&=$AF32C128;如果(m(2)&=889654){};
//读取写入4字节,用&

读写内存地址

可用变量读写内存地址
变量只能是字节,整形,整数,小数4字节以内的数字类型.

如 文本 a="$32A4B8C6428B";字节 b;正整形 i;
b b>a+2;//就把a的第三位置`0xB8`,换成了`50`
文本 内容[64]="0123456789ABCDEF中华人民共和国";
整数 数值=内容
//数值得到数据`缓冲区`内存地址
数值=内容(0)
//从数据缓冲区读取第一字节数值,0这个字
数值=内容%
//从数据缓冲区读取两字节数据到数值变量,01这两个字
数值=内容&
//从缓冲区读取四字节数据,0123这四个字,(0)可以不写
数值=内容(2)
//从缓冲区的2字节后读取一字节数据,2这个字
数值=内容(2)%
//从缓冲区的2字节后读取两字节数据,23这两个字
数值=内容(2)&
//从缓冲区的2字节后读取四字节数据,2345这四个字
内容% =数值
//向缓冲区写入两字节数值,01被修改
内容& =数值
//向缓冲区写入四字节数值,0123被修改
内容(2)% =数值
//向缓冲区的2字节后写入两字节数值,23被修改
内容(2)& =数值
//向缓冲区的2字节后写入四字节数值,2345被修改
数值=#4
//#4是指针之后偏移4字节,就是读取4567这四个字
数值=#(4)
//#(4)是指针之后偏移4字节,小括号就是读取4这一个字
数值=#[4]
//#[4]是指针之后偏移4字节,中括号就是读取45这两个字
数值=#@4
//#@4是指针之后偏移4字节,就是4这个字的位置(取文本)
数值=##4
//#4是指针之后偏移4字节,就是读取456789AB这8个字(取浮点数)
.#6=数值
//#6是指针之后偏移6字节的浮点数,就是6789ABCD这八个字
.(6)=数值
//6是指针之后偏移6字节,读写操作6这个字
.%6=数值
//6是指针之后偏移6字节,读写操作67这两个字
.&6=数值
//6是指针之后偏移6字节,读写操作6789这四个字
.!6=数值
//6是指针之后偏移6字节,读写操作6789这四个字的小数值

记住指针位置,是变量缓冲区内最后读写操作的内存偏移位置.
还有中括号和~符号的指针操作,只记变量指针位置,不包括操作的偏移位置.
小括号可以读写操作整数,文本,数组,结构体和数据表等,中括号只能读整数和文本指针.

文本 内容[64]="0123456789ABCDEF中华人民共和国";
整数 数值=~内容
//数值得到数据缓冲区的前四字节数据,0123
数值=内容[0]
//从数据缓冲区读取第一字节数值,0这个字
数值=内容[2]
//从缓冲区的2字节后读取一字节数据,2这个字
数值=内容[2]%
//从缓冲区的2字节后读取两字节数据,23这两个字
数值=内容[2]&
//从缓冲区的2字节后读取四字节数据,2345这四个字
数值=`[4]
//`[4]是内容缓冲区向后4字节,就是读取4这个字
数值=`[4]%
//内容缓冲区向后4字节,百分号就是读取45这两个字
数值=`[4]&
//内容缓冲区向后4字节,连接号就是读取4567这四个字

数组和数据表包含子类名和方法

方法意思
数组.指针数据缓冲区指针
数组.长度成员数量文本缓冲区大小
子类.长度空间长度
数组.维数第一维数组的长度
对象.类关联的
对象.标识IID标识
数据表.指针数据缓冲区的指针
数据表.长度可存储行数
数据表.行数已读取数据的行数
数据表.列数每行数据的列数
读取表读取数据到数组缓冲区
加数组某列数据加到一维数组

数组

数组,数据表和结构体都属于全局变量,数组可以是静态和动态两种
静态数组如:

整数 一(10);字节 二(5);

动态数组括号内为空,如整形().

结构体类型只支持是静态数组,静态数组不支持重置,保留和销毁.
数据表只支持动态数组,申请的数据清零的,支持重置,保留和销毁.

子类

子类要通过"新建"申请内存才能使用,数据不清零,只支持销毁.
子类和对象支持全局和局部变量,实体是一个整数指针变量.
子类代码需要单独一个模块文件来写,格式为:子类 名称{...}.

子类支持的变量类型:布尔/字符/字节/整形/正整形/整数/小数/浮点/大数/文本.
子类变量均可使用数组,下标长度必须是数字,不支持动态数组.
子类变量时不能赋值,未新建子类时变量的数据并不存在.
子类如果不包含变量,是不需要新建,不用申请内存空间
子类里面包括程序段,可直接使用子类内部的变量
子类书写完之后,以大括号}结尾,与命名子类后的{对应.
使用子类时先要新建子类,才可使用其变量和方法函数.

子类名 名称1 = 新建 子类名;
整数 名称2=新建 子类名

也可用赋值指向已存在的子类:

子类名 名称3=名称1;

子类变量用法:

整数 数一=名称1.变量名;
名称1.变量名=88;

传递参数时也可用子类:

程序段 测试(子类名 名称3)
名称3.变量=99;
变量9=名称3.读取(数据,4);
名称3.写入(内容)

销毁子类方法是:

销毁 名称2;

子类名子类实体要区分清楚

COM对象

COM对象申请方法是:

对象 名称5=对象名;
对象 任务=任务栏类;
//用对象结构
//或下面代码形式
对象 任务($44F3FD566DFDD011958A006097C9A090,$42F3FD566DFDD011958A006097C9A090,接口,计数,释放,初始化,添加,删除,激活,活动)

极语言库里已有的COM对象结构在说明书里有使用方法.
如:任务栏类,链接类,存储类,可查看具体说明

申请完对象变量,要用创建对象创建对象实体
语法是:

创建对象 任务;任务.初始化;任务.添加(窗口)
任务.删除(窗口);任务.激活(窗口),任务.活动(窗口)

对象不使用新建和销毁,释放对象写法是:

任务.释放;

全局变量和局部变量

小程序段内申请的变量,包括提交的参数都是局部变量.
子类或者数据表头内申请的变量属于子类变量.
其它地方(小程序和子类外)申请的变量是全局变量.

全局变量包括字符,字节,整形,正整形,整数,正整数,小数,浮点,大数和自定义类型.
局部变量目前只有整数,小数和文本这三种.
按参数传递任何变量时,均为4字节数字.

所以大于4字节的类型比如文本,浮点和自定义类型,提交的都是变量的地址,而不是.否则是按值传递的.

因此小程序的参数通常只有整数和小数这两种,文本提交过来也是个整数地址.

小数是提交参数时,要直接进行小数运算时,才需要特别指定.除此外,任何提交参数都可写成整数类型.

子类本身并没有特别定义,它可以是全局整数变量,也可是局部整数,也可以是整数数组.

全局变量编译程序时,提前数据区段申请的.局部变量仅在小程序段内有效,属于临时存储空间.

子类和数据表的变量,是在运行程序后,动态申请的内存区块.使用子类前,要用新建 子类名称

数据表相当于自定义二维数组,使用前要先"重置"数组长度,该长度不能小于所读取数据的行数.

数据表可使用数组的重置,保留和销毁方法,而子类只可用新建和销毁这两个方法.

子类和数据表的区别

子类申请的内存区域并不是清零的,所以新建的时候,可以用:

玩家=新建 角色类(等级=1,职业=2,性别=1);

来设置子类变量的数值,未清零内存数据随机的,即在新建子类时子类变量数值是不确定的.

而在重置长度后,数据表内存区域清零的,所有此时变量值都是0,数据表也可以用作自定义数组.
成员变量使用方法是:玩家表(0).性别,括号内行号也就是数组的标号,是从0开始计数的.

子类变量的使用方法是:玩家.性别.如果申请子类变量是数组形式,如:角色类 玩家()
也可以像数组一样,先

重置 玩家(1000),玩家(0)=新建 角色类;
玩家(0).性别=1;

但是销毁只能是先销毁一个成员,

销毁 玩家(0)
N=玩家(0);销毁 N;

子类内部,可不加前缀直接访问子类变量,如:

 等级=100;职业=3;xb=性别

等等.
全局变量,子类变量的名称是绝对不能重复的,重名就会优先判定为全局变量.

申请和使用局部变量

局部变量文本外都是4字节,文本可以大于4字节,但必须是4的整数倍.

局部变量最多可申请1-2M空间,不使用局部变量则不申请,少量使用时(限120字节)

局部整数和小数变量30个以内,文本按申请的长度算.需要更多变量时,变量前加局部或local.

并且放在小程序开头第一行,编译时,才好预计此小程序段需要申请多大栈空间.如:

局部 文本 ss(32);

局部全局变量区别是很大的,编程语法上尽量做到兼容使用,方便程序灵活处理.

局部全局文本都可像操作数组一样,读写其中每一字节.如:

文本 s(16)="abc";s(2)=\d;

也可像其它变量一样,写入数字.如:

s=0;//清空文本
s=$31323334;
//`文本开头`等于4321

因为十六进制反转的,最后的34写入字符第一字节,对应文字是4,用s(1)读取出来就是52.

更多细节,见说明书!

相关文章:

2311极语言高亮说明书

入门 安装目录下Sec.exe为ide.Sc为编译器. .sec为单文件二进制源码结构,.SEC和.极为多文件文本结构,命令行:cmd Sc.exe 源码路径. 基础 整数变量也可以是万能指针,传送参数,参数只有整数和小数两种. 可在名称前面加或&符号取变量或函数名指针地址,文本变量只取地址不用加…...

金蝶云星空与金蝶云星空对接集成盘亏单查询打通盘亏单新增

金蝶云星空与金蝶云星空对接集成盘亏单查询打通盘亏单新增 接通系统&#xff1a;金蝶云星空 金蝶K/3Cloud&#xff08;金蝶云星空&#xff09;是移动互联网时代的新型ERP&#xff0c;是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”&am…...

深入理解 Django 信号机制

Django 信号&#xff08;signals&#xff09;是一种实现解耦的有力工具&#xff0c;它允许某些发生的事件通知其他部分的代码。信号主要用于在 Django 应用中的不同部分之间传递信息&#xff0c;尤其是在模型操作发生时。本文将深入探讨 Django 信号的工作原理、如何定义和接收…...

uniapp开发app应用从创建到上架

目录 前言 一、项目初始化 1.初始化方式 2.账号注册 3.插件安装 二、项目结构及重点文件介绍 1.项目基本结构 2.项目文件介绍 三、应用打包 1. 安卓打包 2.苹果打包 四、应用发布 1. 安卓市场发布 用户权限和隐私政策 注销 软著和App备案证书 2. 苹果市场发布 …...

为什么使用Golang而非Rust开发桌面应用?

MoonGuard 团队选择 Golang 而不是 Rust 作为他们的 Krater 桌面应用程序&#xff0c;因为 Golang 中更容易进行内存管理、类型安全和 ORM 支持。 使用 Rust 和 Tauri 时面临的一些挑战包括&#xff1a; 难以理解 Rust 的所有权和借用规则、其严格的类型安全有时会限制开发速…...

问题复盘|MySQL 数据记录中明明有值,使用 concat() 后得到的却一直是 null

背景 MySQL 的数据数据记录中明明有值&#xff0c;在使用 concat() 查询时却一直得到 null SELECT CONCAT(first_name, , last_name) FROM users;排查后发现 MySQL 的 concat 函数拼接规则是 当多个拼接的字段的字段值中存在 null 时&#xff0c;返回的一定是 null 解决方…...

正点原子嵌入式linux驱动开发——Linux IIO驱动

工业场合里面也有大量的模拟量和数字量之间的转换&#xff0c;也就是常说的ADC和DAC。而且随着手机、物联网、工业物联网和可穿戴设备的爆发&#xff0c;传感器的需求只持续增强。比如手机或者手环里面的加速度计、光传感器、陀螺仪、气压计、磁力计等&#xff0c;这些传感器本…...

利用角色roles上线wordpress项目

角色订制&#xff1a;roles ① 简介 对于以上所有的方式有个弊端就是无法实现复用假设在同时部署Web、db、ha 时或不同服务器组合不同的应用就需要写多个yml文件。很难实现灵活的调用。   roles 用于层次性、结构化地组织playbook。roles 能够根据层次型结构自动装载变量文…...

4.0 Linux进程前导知识

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 冯.诺依曼体系 CPU&#xff1a;运算器&#xff0c;控制器 输入设备&#xff1a;键盘&#xff0c;麦克风&#xff0c;摄像头&#xff0c;鼠标&#xff0c;网卡&#xff0c;磁盘等。 输出设备&#xff1a;显示器&#xff0…...

推荐一份适合所有人做的副业,尤其是程序员。

我建议每个人都去尝试一下网上接单&#xff0c;这是一个门槛低、类型多样的方式&#xff0c;尤其适合程序员&#xff01; 在接单平台上&#xff0c;你可以看到各种类型的兼职。以freelancer为例&#xff0c;你可以在这里找到技术、设计、写作等类型的兼职&#xff0c;只要发挥…...

Linux中字符设备的打开、写入

一个内核模块应该由以下几部分组成。 第一部分&#xff0c;头文件部分。一般的内核模块&#xff0c;都需要 include 下面两个头文件&#xff1a; #include <linux/module.h> #include <linux/init.h> 第二部分&#xff0c;定义一些函数&#xff0c;用于处理内核…...

3d max软件中的缓存垃圾该如何清理?

使用3d max建模到渲染操作&#xff0c;来回对效果图调整的次数过多时&#xff0c;就会出现一下看不到的垃圾缓存&#xff0c;影响保存的速度&#xff0c;影响效率&#xff01; 对于这类的3d垃圾清理的有什么高效方法呢&#xff1f; 3dmax垃圾清理的常规操作如下&#xff1a; 1、…...

11.13 牛客刷题8/10

11.13 信号完整性 指针地址 的加减&#xff0c;注意 最后转为16进制...

CI/CD简介

CI/CD简介 1、CI/CD流水线2、什么是CI/CD3、CI/CD的优点4、CI/CD的工作原理5、CI/CD流水线工具6、CI/CD的应用7、CI/CD的未来趋势 1、CI/CD流水线 从最初的瀑布模型&#xff0c;到后来的敏捷开发&#xff0c;再到今天的DevOps&#xff0c;这是现代开发人员构建出色产品的技术路…...

python opencv 读取文件夹下所有MP4文件并解析成jpg图像

你可以使用Python的OpenCV库来读取文件夹中的所有MP4文件&#xff0c;并将其解析为JPG图像。以下是一个示例代码&#xff0c;演示了如何实现这个功能&#xff0c;并设置解析间隔为3帧&#xff1a; import os import cv2def extract_frames(input_folder, output_folder, inter…...

MySQL binlog 日志解析后的exec_time导致表示什么时间?

1. exec_time 到底表示什么时间&#xff1f; MySQL binlog日志解析后&#xff0c;我们能看到会有 exec_time &#xff0c;从字面意思理解这个记录的是执行时间&#xff0c;那这个记录的到底是单条sql的执行时间&#xff1f;还是事务的执行时间&#xff1f;下面通过测试来解读一…...

【Linux】:git基本操作_添加文件_两种场景_查看.git文件 || git修改文件 || 版本回退

&#x1f3af;添加⽂件–场景⼀ &#x1f3af;在包含.git的⽬录下新建⼀个ReadMe⽂件&#xff0c;我们可以使⽤ git add 命令可以将⽂件添加到暂存区&#xff1a; • 添加⼀个或多个⽂件到暂存区&#xff1a; git add [file1] [file2] … • 添加指定⽬录到暂存区&#xff0c;…...

Django 基于ORM的CURD、外键关联,请求的生命周期

文章目录 基于ORM进行的CURDORM外键关联Django请求的生命周期流程图 基于ORM进行的CURD 本质上就是通过面向对象的方式&#xff0c;对数据库的数据进行增、删、改、查。 这里将会将我们之前所有内容结合到一起&#xff0c;首先确保基于上序操作已经建立好了UserInfo表&#xff…...

集合贴4——QA机器人设计与优化

基础课21——知识库管理-CSDN博客文章浏览阅读342次&#xff0c;点赞6次&#xff0c;收藏2次。知识库中有什么信息内容&#xff0c;决定了智能客服机器人在回答时可以调用哪些信息内容&#xff0c;甚至可以更简单地理解为这是智能客服机器人的话术库。https://blog.csdn.net/22…...

【Verilog语法】

Verilog语法 1. Verilog语法1.1 拼接运算符1.2 运算符优先级1.3 注释1.4 关键字1.5 模块结构1.6 结构语句1.7 赋值语句1.8 条件语句1.9 状态机1.10 OSI七层模型 1. Verilog语法 1.1 拼接运算符 1.2 运算符优先级 1.3 注释 1.4 关键字 1.5 模块结构 1.6 结构语句 1.7 赋值语句 …...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...