【讨论】关于跨平台

Altium Designer 16安装教程(Windows11、小白教程) Altium Designer 16在Windows11中的超详细安装教程 阅读详情
跨平台是软件的一个重要指标。一般程序可分为平台无关和平台相关两部分,平台相关部分主要涉及外围设备(如串口、键盘、鼠标、LCD等)和操作系统API(如定时器、互斥锁、文件系统操作、线程操作等)。

除了程序本身的跨平台需求外,还有种应用是对目标机的模拟,例如在PC上模拟一些嵌入式平台的应用,一来可以方便用户体验产品功能,二来Windows友好的开发环境,程序调试很方便。

所以,可以定义这样一组接口,接口的实现平台相关,由平台无关部分调用。如下所示:

class VArchOper
{
public:
	//套接字接口
	void startSocket();
	void nonBlkSocket( int sock );
	void closeSocket( int sock );
	
	//显存接口
	int initDspDev( int buf[] );	//提供显示属性:屏幕尺寸,色深,显存指针
	
	//输入接口
	//触控接口
	int getTouchInf( int buf[] );	
	int ctrTouchInf( int cmd, void *arg );
	//键盘接口
	int getKeybdInf( int buf[] );
	
	//定时器接口
	int initTimer( void (*hd)( int ) );		
	int loadClock( int clock[] );	//时钟函数(年月日时分秒)
	int loadSysTime( int tm[] );	//系统时间(秒,微妙)
	int cvtSysTm2Clock( const int sysTm[], int clock[] );

	//互斥操作
	void initMutex( void *m );	
	void delMutex( void *m );
	void lockMutex( void *m );	
	void unlockMutex( void *m );
	
	//文件夹操作
	void loadCurDir( char name[], int len );
	int createDir( const char *name );
	void * openDir( const char *name );	
	int isFolder( void *dir, const char *baseDir );
	void * listDir( void *dir, char name[] );
	void closeDir( void *dir );	

	//文件操作
	void loadFileInf( const char *name, int inf[] );
	void rmFile( const char *name );
		
	//延时操作
	void sleepMs( int ms);
	
	//线程接口
	int  createThread( void *(*start_routine)(void *), void * arg, int IsDetach = FALSE );	

	//......其他接口.....
};

这组接口应该尽可能小,只包含平台相关部分。不断扩充后,可以作为小范围的标准接口,其他程序则可以省去平台相关部分的编写工作。

猫群优化算法(CSO)详解:从生物灵感到智能优化 猫群优化算法(CSO)是一种模拟猫科动物行为的群体智能优化算法。该算法基于猫的两种主要行为模式:搜寻状态(全局探索)和跟踪状态(局部开发)。CSO通过混合率(MR)动态调整两种模式的比例,实现探索与开发的平衡。算法核心包括搜寻模式的变异操作和跟踪模式的速度-位移模型,具有收敛性能好、全局搜索能力强等特点。相比传统优化算法,CSO在高维复杂问题中表现优异,已成功应用于函数优化、图像处理等多个领域。算法性能受混合率、变化域等参数影响,自适应参数策略可进一步提升优化效果。 阅读详情

相关推荐

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1631

平台无关性/相关性理解

本文由来:      先胡扯一通,今天突然想到这个话题是因为最近看PDF文档的格式说明,里面有提到:device-independent(平台无关性),看PDF的格式说明则是因为我想从一堆PDF文档中提取每个小文件里的标题做个目录(人懒就是没办法,懒得去复制了。本来CPAN上找了个Perl模块,结果tgz格式我不会装,汗~~~高手路过的话教教我)。语文功底不行,来一堆把自己都绕晕了,下面进

smilelance的移动开发专栏 1943

软件缺陷(定义+表现形式+优先级+信息+产生原因),看完这篇文章就懂了

软件缺陷软件缺陷的定义软件缺陷的表现形式软件缺陷产生的原因软件缺陷的根源软件缺陷的费用软件缺陷的信息 软件缺陷的定义 IEEE 1983 of IEEE Stardard 729中软件缺陷做了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。 因此软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。 缺陷不是bug,缺陷包含bug,缺陷的范围更大。 软件缺陷

qq_40676418的博客 1万+

讨论:“Mono是个跨平台的.NET”是否是个正确的说法

最近在StackExchange的编程板块上引起了一场关于“Mono是否可以作为跨平台.NET”的讨论。讨论发起者提出了几点“否定”看法,包括Mono创建者Miguel de Icaza在内的许多人给出了回复。 Thorbjorn在提问中认为Mono并不能称作是跨平台的.NET,理由如下: OpenJDK等Java提供商都通过了官方的Sun TCK来保...

weixin_33872660的博客 98

以太网传输硬件设计大全

1.网线的介绍RJ45由插头和插做组成,也就是我们常说的网口和网线。RJ45 网线插头又称水晶头,共有八芯做成。RJ45网络传输线分为直通线、交叉线和全反线。直通线用于异种网络设备之间的互连,例如,计算机与交换机。交叉线用于同种网络设备之间的互连,例如,计算机与计算机。全反线用于超级终端与网络设备的控制物理接口之间的连接。下面将介绍一下各线的作用和区别。1.直通线:又叫正线或标准线,两端采用568B做线标准,注意两端都是同样的线序且一一对应。直通线是应用最广泛,现在最常用的线。

weixin_45365488的博客 6750

ICT模拟零件测试方法--电容测试

通常,小到 100 pF 的电容需要补偿,因为夹具和系统的电容(20 到 50 pF)相对于被测设备的值是显著的。软件在需要补偿的电容测试中加入 comp 选项,而在不需要补偿的电容测试中加入 nocomp 选项。在调试期间,通过向电容语句添加 pc 选项验证您的电容测试。在测试单独的电容时,从测量结果中减去学到的值,然后与测试限制进行比较以决定通过或失败。请注意,如果用于需要补偿的电容测试上的感应总线使用了单独的探针,测量将无效。在测试电容时,应注意两个方面:电容的电阻元件,以及夹具和系统本身的电容。

可可南木的博客 1218

union和struct类型大小的跨平台讨论

这个问题的教材网上很多,我就不多说了这里给出一个:点击打开链接 这个问题又最容易引起争执,为什么呢?与平台或者说与编译器有关系,先看看下面的代码: #include using namespace std; union U1 { char a[9]; int b; }; union U2 { U1 a; double b; }; union U3 {

xumesang的专栏 979

Coze HTTP请求节点实战:5分钟搞定天气API对接(含动态参数技巧)

本文通过一个天气预报API对接的实战案例,详细讲解了如何在Coze平台使用HTTP请求节点实现外部数据交互。文章重点演示了动态参数传递、JSON响应解析与错误处理等核心技巧,帮助开发者在5分钟内快速构建稳定可靠的智能体外部服务调用能力。

weixin_29233333的博客 676

FCKEditor思考讨论Word图片转存跨平台解决方案

一键自动上传网络图片,自动下载远程服务器图片,自动上传远程服务器图片。一键导入Word文件,并将Word文件转换成图片上传到服务器中。一键粘贴Word内容,自动上传Word中的图片,保留文字样式。建议尽快启动采购流程,预计实施周期5周后可投入生产使用。一键导入PDF文件,并将PDF转换成图片上传到服务器中。一键导入PPT文件,并将PPT转换成图片上传到服务器中。测试结果均符合预期,所有功能正常使用。:环境准备与开发工具配置。在工具栏中添加插件按钮。:88万元(含源码)

2501_90646449的博客 978

VS2019编译使用log4cplus 1.2.0

logger.properties 文件。第三步,创建项目来测试,配置库。第二步,使用VS2019编译。

h a 6 6 6 c k 为 你解决复杂难题! 528

ABAP RANGES及比较符号

RANGES *选项介绍: *1.SIGN 值为 I 和 E 。 I是包含, E是排除, 一般使用I。 2.OPTION 如果HIGH 为空 ,为单值选择 。有 EQ、NE、GT、LE、LT等逻辑操作 对于的 CP包含 NP是排除 如果HIGH 不为空 为区间选择 有BT,NB可选 *3.LOW 低值 *4.HIGH 高值 lt:less than 小于 le:less than or equal to 小于等于 eq:equal to 等于 ne:

Pegasus666的博客 5389

javascript大文件上传插件的跨平台实现与讨论

作为北京教育行业国企项目负责人,我深刻理解贵司在大文件传输方面面临的挑战。基于贵司提出的详细需求,我司特别定制了以下解决方案。

2501_90646763的博客 1009

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

k8291121的博客 1100

JAVA分块上传组件的跨平台兼容性讨论

支持上传文件夹并保留层级结构,同样支持进度信息离线保存,刷新页面,关闭页面,重启系统不丢失上传进度。支持离线保存文件进度,在关闭浏览器,刷新浏览器后进行不丢失,仍然能够继续上传。up6/upload/年/月/日/guid/filename。如需更详细的技术方案或演示,我可安排技术团队进行专项对接。NOSQL示例不需要任何配置,可以直接访问测试。选择对应的数据表脚本,这里以SQL为例。

2501_90646763的博客 751

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

JAVA分块上传组件跨平台兼容性讨论

作为公司项目负责人,我们面临的核心需求是构建一个安全可靠、高性能的大文件传输系统。

weixin_52050572的博客 516

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

跨平台大文件上传在SpringBoot中的实现与讨论

支持离线保存文件进度,在关闭浏览器,刷新浏览器后进行不丢失,仍然能够继续上传。

weixin_52050572的博客 720

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

思考讨论WordPress粘贴图片跨平台解决方案

要求:开源,免费,技术支持博客:WordPress开发语言:PHP数据库:MySQL功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统CPU:x86(Intel,AMD,海光,兆芯),arm(飞腾,鲲鹏),龙芯(mips,LoongArch)

alisky119的博客 433

FCKEditor思考讨论WORD公式粘贴跨平台解决方案

一键自动上传网络图片,自动下载远程服务器图片,自动上传远程服务器图片。一键导入Word文件,并将Word文件转换成图片上传到服务器中。一键粘贴Word内容,自动上传Word中的图片,保留文字样式。建议尽快启动采购流程,预计实施周期5周后可投入生产使用。一键导入PDF文件,并将PDF转换成图片上传到服务器中。一键导入PPT文件,并将PPT转换成图片上传到服务器中。测试结果均符合预期,所有功能正常使用。:环境准备与开发工具配置。在工具栏中添加插件按钮。:88万元(含源码)

2501_90646449的博客 650

SpringMVC大文件上传的跨平台实现与兼容性讨论

支持离线保存文件进度,在关闭浏览器,刷新浏览器后进行不丢失,仍然能够继续上传。

weixin_52050572的博客 945

跨平台socket通信系统桥接技术的讨论

本文不是原创文,属于集思广益的帖子,目前的一个需求:C++动态链接库-该库实现网络通信基本功能以及多线程创建功能。使之能在任何的可调用动态库的语言系统中运用。...

u012891980的博客 480

艾玛迪斯咨询讨论了跨平台的应用程序开发的iPhone,Android,黑莓和Windows Phone 7

艾玛迪斯咨询讨论了跨平台的应用程序开发的iPhone,Android,黑莓和Windows Phone 7   作为   一个移动应用程序开发的公司,我们帮助企业和企业家创造出各种各样的智能手机应用程序。一个问题,我们经常问的是有关跨平台的开发,或者从一个平台的应用程序到另一个平台移植。   术语“移植”是指软件的可移植性从一个平台到另一个平台,或者是多么容易适应一个程序,工作在不同的平台。软件被

grilone0的专栏 764

一起谈.NET技术,讨论:“Mono是个跨平台的.NET”是否是个正确的说法

  Thorbjorn在提问中认为Mono并不能称作是跨平台的.NET,理由如下: OpenJDK等Java提供商都通过了官方的Sun TCK来保证正常工作,Mono似乎并没有通过Microsoft TCK。 Mono的发布总是落后于.NET,那么目前它又对.NET支持到什么程度呢? 如WinForm等GUI工具是否可以在Mono下正常工作? 商业用户不会将开源框架作为备选方案。   用户sp...

weixin_34391445的博客 155
上一篇: 【基础】查表法
dongpy
博客等级 码龄24年 75粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值