CN110716716B - 移动端可视化ai编程平台 - Google Patents
移动端可视化ai编程平台 Download PDFInfo
- Publication number
- CN110716716B CN110716716B CN201910968626.4A CN201910968626A CN110716716B CN 110716716 B CN110716716 B CN 110716716B CN 201910968626 A CN201910968626 A CN 201910968626A CN 110716716 B CN110716716 B CN 110716716B
- Authority
- CN
- China
- Prior art keywords
- linux
- python
- instruction
- interface
- programming platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 28
- 230000002452 interceptive effect Effects 0.000 claims abstract description 8
- 238000013461 design Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 14
- 238000013135 deep learning Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了移动端可视化AI编程平台,属于软件编程领域,它包括伪linux端、AI编程平台模块和Android模块;AI编程平台模块用于用户输入指令并与linux端通信,然后反馈运行结果进行可视化编程;linux端用于与AI编程平台模块进行通信,并根据AI编程平台模块输入的指令运算相应的程序;Android模块用于通过在移动端上控制AI编程平台模块实现相应的操作;通过内置的Aidcode编程器可以直接在手机上用python实现轻松零基础编程,支撑触摸拖拽式界面设计,通过与linux内核通信对运行结果进行显示,可实现实时对输入指令进行调试和通过交互界面实现图形化运行;将AI编程平台做成一个app安装在移动端,可通过手机等智能移动终端就能实现编程和调试。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及移动端可视化AI编程平台。
背景技术
人工智能的概念起源于1956年,所谓的人工智能就是给机器赋予人的智能,让机器能够像人一样地思考问题,做出决策。而一种较为有效的、可行的实现人工智能的方法就是机器学习,机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。实现机器学习的一种重要框架是深度学习,它的出现使机器学习能够实现更多的应用,包括无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐。
目前深度学习框架的版本非常多,比如其中一个框架tensorflow,版本多达80多种,这些框架依赖的第三方环境资源包也非常多,框架的不同对于的第三方环境也不同,搭建环境的时候往往需要对大量第三方资源包卸载,重装指定版本,第三方资源包之间也有特定的版本对应关系,要互相之间适应,需要耗掉大量时间和精力去试验,查错,更正;导致深度学习框架搭建困难。
因为深度学习框架版本的繁多,而同样的函数在多个版本之间的含义可能出现差别,导致很多在一个版本能够运行的代码输入到另一个版本后产生很大的出入导致可能运行错误。
因为图像处理用到的Numpy,PLT,scikit;语言处理用到的NLTK;语言处理pyaudio,SpeechRecognition。资源管理工具Pip,Conda。要真正的入门开始做实验,需要对这些资源包及管理工具有一定的了解,增大了入门难度;而且一般python程序的运行界面是类似于dos窗口,黑屏幕上一行一行显示运行结果,对初学者来说会显得枯燥泛味,大大减少了学习的积极性。
发明内容
本发明的目的在于克服现有技术的不足,提供移动端可视化AI编程平台,解决了现目前存在的缺陷。
本发明的目的是通过以下技术方案来实现的:一种可视化AI(爱点)编程平台,它包括伪linux端、AI编程平台模块和Android模块;
所述AI编程平台模块用于用户输入指令并与所述linux端通信,然后反馈运行结果进行可视化编程;
所述linux端用于与所述AI编程平台模块进行通信,并根据AI编程平台模块输入的指令运算相应的程序;
所述Android模块用于通过在移动端上控制所述AI编程平台模块实现相应的操作。
所述伪linux端包括安卓接口、JNI层和底层;所述底层包括C++层接口、二进制接口、系统资源库和linux内核;所述安卓接口和C++层接口用于读取用户输入的相应指令到所述JNI层;所述JNI层与所述linux内核进行通信交互,并将交互运行结果返回到所述安卓接口。
所述AI编程平台模块包括Aidcode编程器、后台服务单元和Python接口;所述Python接口用于读取用户输入的相应指令;所述后台服务单元用于通过所述JNI层或者所述Python接口调用底层运算到所述Aidcode编程器。
所述Python接口读取输入的Python指令并运行Python文件包括:下载Python源代码,通过交叉编译生成Python编译器,将Python源代码转化成更底层的语言,并用更底层的资源来运行得到结果。
所述Android模块包括显示控件、监听单元、控制单元和交互界面;所述显示控件用于显示通过所述安卓接口传回的运行结果;所述监听单元用于监听用户的输入并通过所述显示控件显示;所述控制单元用于在交互界面上对所述AI编程平台模块进行点击或者滑动的控制操作。
用户通过该AI编程平台进行编程包括:Aidcode编程器读入用户输入指令并进行指令的解析;根据指令解析结果进行Aidcode编程器与Linux内核的通信交互;将通信交互结果通过显示控件反馈运行结果到显示控件上进行显示。
在通过Aidcode编程器读入用户输入指令之前还包括用户根据所述Aidcode编程器上显示的运行结果输入下一步的指令并重复上述内容。
所述Aidcode编程器读入用户输入指令并进行指令的解析包括:后台监听端口实时监听输入的字符,并根据输入字符的先后顺序组成相应的字符串;根据所有字符串的先后顺序组成完整的指令,并解析每个字符串的含义;根据解析的字符串的含义得到完整指令的含义,并重复上述步骤直到解析完成所有输入指令。
所述根据指令解析结果进行Aidcode编程器与Linux内核的通信交互包括:读入解析后的用户输入指令;调用fork函数生成一个子进程,并将fork函数返回的pid值赋给fpid;调用wait函数,传入null并判断fpid是否为零;如果fpid为零则调用execvp函数,并把解析后的用户输入指令传进去,根据fpid访问子进程地址下的不同文件夹,得到execvp的输出结果;如果fpid不为零,则返回到读入解析后的用户输入指令步骤。
不同的输入指令,访问不同进程号地址下的不同文件夹,得到不同execvp参数。
本发明的有益效果是:移动端可视化AI编程平台、编程方法、存储介质及移动终端,通过内置的Aidcode编程器可以直接在手机上用python(同时支持python2接口和python3接口)实现轻松零基础编程,支撑触摸拖拽式界面设计,通过与linux内核通信对运行结果进行显示,可实现实时对输入指令进行调试和通过交互界面实现图形化运行;将AI编程平台做成一个app安装在移动端,可通过手机等智能移动终端就能实现编程和调试,避免了编程一定要用电脑的弊端。
附图说明
图1为可视化AI编程平台的框架图;
图2为图形化运行效果图;
图3为方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“上”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,移动端可视化AI编程平台,其可以为一种安装在Android端的编程App,它包括伪linux端、AI编程平台模块和Android模块;
所述AI编程平台模块用于用户输入指令并与所述linux端通信,然后反馈运行结果进行可视化编程;
所述linux端用于与所述AI编程平台模块进行通信,并根据AI编程平台模块输入的指令运算相应的程序;
所述Android模块用于通过在移动端上控制所述AI编程平台模块实现相应的操作。
所述伪linux端包括安卓接口、JNI层和底层;所述底层包括C++层接口、二进制接口、系统资源库和linux内核;所述安卓接口和C++层接口用于读取用户输入的相应指令到所述JNI层;所述JNI层与所述linux内核进行通信交互,并将交互运行结果返回到所述安卓接口。
进一步地,一般输入指令是常用的linux指令、python指令和C++指令,这些指令都可以通过安卓接口输入;python指令也可以直接通过python接口输入,C++指令也可以通过C++接口输入;可以在伪linux端直接进行python编程和C++编程;即直接调用底层的接口,使得指令的输入更加底层,运行更快;C++接口通过linux内容提供的系统资源库构建一些运算和处理单元。
进一步地,可视化AI编程平台的底层环境arm linux和真实的x86 linux有底层驱动和基本资源库的区别,深度学习框架为google、facebook等大公司提供的框架,包含C++代码;在arm linux下先编译深度学习框架需要的第三方资源库,在编译框架。
主要通过在x64的linux系统中安装交叉编译工具aarch64-linux-gnu-gcc,aarch64-linux-gnu-g++,aarch64-linux-gnu-gfortran等(交叉编译即在x64架构下编译arm可用的库),下载一些基本的库的源代码,使用上述编译工具编译生成头文件和库。将生成的头文件和库放到深度学习框架的源代码中,使用交叉编译工具编译生成c++可以使用的库。用python对c++进行封装得到python可用的接口。
在linux内核中使用CNU6.3.0将现阶段主流的深度学习框架(如Caffe、Tensorflow、Mxnet、pytorch、keras、ncnn、opencv)编译成库,提供主流深度学习框架的C++接口和python接口,python接口针对初学用户,封装更加完善,调用更加方便,C++接口针对有一定编程基础的用户,更加底层,运行速度更快;内置有大量人脸识别、行为识别和分类等AI源码例子程序,用户可以在内置的案例中学习和找到更多的灵感,也可以直接调用,更加方便快捷。
所述AI编程平台模块包括Aidcode编程器、后台服务单元和Python接口;所述Python接口用于读取用户输入的python指令;所述后台服务单元用于通过所述JNI层或者所述Python接口调用底层运算到所述Aidcode编程器。
所述Python接口读取输入的Python指令并运行Python文件包括:下载Python源代码,通过交叉编译生成Python编译器,将Python源代码转化成更底层的语言(即将Python资源库替换为C++基本库,使用底层运算核心来执行运算),并用更底层的资源来运行得到结果。
进一步地,Aidcode编程器(爱点编程器)是基于html的图形化编程器,可以与后台监听端口进行交互,后台监听端口通过命令终端(伪linux端)的方式在一个进程中运行,如果在编程器中进行创建控件,点击或者滑动之类的操作,后台进程会修改相应的属性,并生成python文件,python文件的运行也是通过命令终端执行相应的操作。
进一步地,可视化AI编程平台与linux内核进行通信,Android端可以使用linux指令,而大部分linux指令已经被编译成可执行文件,在Andorid端使用linux指令底层就会根据输入的linux指令跑出相应的程序;Android端自带的命令只有少量的abd命令,大部分linux的命令并没有,通过将aarch64-linux和llvm在arm下编译成linux命令,让用户在linux环境下进行编程的体验;通过在C++基础代码之上使用更为底层的汇编指令,在保证通用接口不变的情况下,使其更适应Android系统,加快运算速度。
其中,通过将aarch64-linux和llvm在arm下编译成linux命令主要包括:判断linux命令是否有相应的源码,如果有则将其编译成可执行文件;如果没有,则在底层资源库的基础上开发、编译;为了更好的支撑linux命令,除了一些底层资源库,还需要一些Android相关的库,因此引入NDK通过llvm编译。
NDK是Native Develop Kit的含义,从含义很容易理解,本地开发。大家都知道,Android开发语言是Java,Android是基于Linux的,其核心库很多都是C/C++的,比如Webkit等。那么NDK的作用,就是Google为了提供给开发者一个在Java中调用C/C++代码的一个工作。NDK本身其实就是一个交叉工作链,包含了Android上的一些库文件。通过使用AndroidNDK开发环境(基于Android源码或内核源码修改)。将一些需要的可执行文件(比如VT200)代码编译成Android可执行文件。
所述Android模块包括显示控件、监听单元、控制单元和交互界面;所述显示控件用于显示通过所述安卓接口传回的运行结果;所述监听单元用于监听用户的输入并通过所述显示控件显示;所述控制单元用于在交互界面上对所述AI编程平台模块进行点击或者滑动的控制操作。
进一步地,Android上层显示控件封装了一些gui的python库,用户可以轻松通过python控制显示控件进行显示;即App中主界面通过webview加载html实现,命令终端通过一个view控件显示,通过keylistener监听用户的输入,把用户输入通过view显示,并将指令传到JNI层,通过linux内核通信执行指令并取得执行结果,再将结果从JNI返回,通过view控件将结果显示出来,点击“我的电脑”进入基于html的文件管理界面。
如图2所示,在Aidcode中可以手动拖拽,缩放控件,通过可视化操作可以形象的构建程序ui,Aidcoed会将程序ui转化成python代码,运行python代码就能得到设计的效果。Python代码可以在手机上运行,并且会有输出信息或者错误信息,方便开发者进一步试验或者修改错误。
如图3所示,用户根据该AI编程平台进行编程的步骤包括以下内容:
S1、Aidcode编程器读入用户输入指令并进行指令的解析;
S2、根据指令解析结果进行Aidcode编程器与Linux内核的通信交互;
S3、将通信交互结果通过显示控件反馈运行结果到显示控件上进行显示。
所述编程方法还包括步骤S4用户根据所述Aidcode编程器上显示的运行结果输入下一步的指令并重复上述步骤。
进一步地,Aidcode编程器读入用户输入指令并进行指令的解析包括以下内容:
S11、后台监听端口实时监听输入的字符,并根据输入字符的先后顺序组成相应的字符串;
S12、根据所有字符串的先后顺序组成完整的指令,并解析每个字符串的含义;
S13、根据解析的字符串的含义得到完整指令的含义,并重复上述步骤直到解析完成所有输入指令。
进一步地,在Android的移动端的App(可视化AI编程平台)内输入文字,通过监听将用户输入的文字指令通过字符串解析成相应的指令和目标,然后在底层运行这些指令得到运行结果,并把这些运行结果返回到App中,这样就给人一种在使用linux的感觉。
进一步地,根据指令解析结果进行Aidcode编程器与Linux内核的通信交互包括以下内容:
S21、读入解析后的用户输入指令;
S22、调用fork函数生成一个子进程,并将fork函数返回的pid值赋给fpid;
S23、调用wait函数,传入null并判断fpid是否为零;
S24、如果fpid为零则调用execvp函数,并把解析后的用户输入指令传进去,根据fpid访问子进程地址(/proc/self/fd)下的不同文件夹,得到execvp的输出结果;
进一步地,不同指令execvp的参数不一样,不同的子进程号在/proc/self/fd下的不同文件夹;如execvp(cmd,argv),cmd代表的是根据在Android端输入指令解析而来的,argv就是参数;比如linux下的命令ls-a,cmd就是代表ls,argv代表-a。
S25、如果fpid不为零,则返回到读入解析后的用户输入指令步骤。
本发明的又一实施例提供一种存储介质,其内部存储有计算机程序指令,所述计算程序指令运行时得到一种可视化编程平台。
本发明的又一实施例一种移动终端,包括存储器和处理器,所述存储器上存储有可以在所述处理器上运行的计算机程序指令,所述处理器运行所述计算机程序时得到一种可视化编程平台,且所述处理器根据用户的输入指令运行所述计算机程序指令执行一种基于可视化AI编程平台的编程方法的步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.移动端可视化AI编程平台,其特征在于:它包括伪linux终端、AI编程平台模块和Android模块;
所述AI编程平台模块用于用户输入指令并与伪linux端通信,然后反馈运行结果进行可视化编程;所述AI编程平台模块在x64的linux系统中安装交叉编译工具,下载一些基本的库的源代码,使用所述编译工具编译生成头文件和库,将生成的头文件和库放到深度学习框架的源代码中,使用交叉编译工具编译生成c++可以使用的库,用python对c++进行封装得到python可用的接口;
所述伪linux端包括安卓接口、JNI层和底层;所述底层包括C++层接口、二进制接口、系统资源库和linux内核;所述安卓接口和C++层接口用于读取用户输入的相应指令到所述JNI层;所述JNI层与所述linux内核进行通信交互,并将交互运行结果返回到所述安卓接口;
所述伪linux端用于与所述AI编程平台模块进行通信,并根据AI编程平台模块输入的指令运算相应的程序;所述伪linux端的linux内核使用CNU6.3.0将现阶段主流的深度学习框架编译成库,提供主流深度学习框架的C++接口和python接口;
所述AI编程平台模块包括Aidcode编程器、后台服务单元和Python接口;所述Python接口用于读取用户输入的相应指令;所述后台服务单元用于通过所述JNI层或者所述Python接口调用底层运算到所述Aidcode编程器;
所述Aidcode编程器与后台监听端口进行交互,后台监听端口通过伪linux端的方式在一个进程中运行,如果在编程器中进行创建控件,点击或者滑动之类的操作,后台进程会修改相应的属性,并生成python文件,python文件的运行也是通过命令终端执行相应的操作;
所述Android模块包括显示控件、监听单元、控制单元和交互界面;所述显示控件用于显示通过所述安卓接口传回的运行结果;所述监听单元用于监听用户的输入并通过所述显示控件显示;所述控制单元用于在交互界面上对所述AI编程平台模块进行点击或者滑动的控制操作;Android上层显示控件封装了gui的python库,用户通过python控制显示控件进行显示;即App中主界面通过webview加载html实现,命令终端通过一个view控件显示,通过keylistener监听用户的输入,把用户输入通过view显示,并将指令传到JNI层,通过linux内核通信执行指令并取得执行结果,再将结果从JNI返回,通过view控件将结果显示出来;
在Aidcode中可以手动拖拽,缩放控件,通过可视化操作可以形象的构建程序ui,Aidcoed会将程序ui转化成python代码,运行python代码就能得到设计的效果,Python代码可以在手机上运行,并且会有输出信息或者错误信息,方便开发者进一步试验或者修改错误;
所述伪linux端与所述AI编程平台模块的通信,包括:
AI编程平台模块与linux内核进行通信,Android端使用linux指令,所述linux指令被编译成可执行文件;
在Andorid端使用linux指令时,底层就会根据输入的linux指令跑出相应的程序;
Android端将aarch64-linux和llvm在arm下编译成linux命令;
所述将aarch64-linux和llvm在arm下编译成linux命令包括:
判断linux命令是否有相应的源码,如果有则将其编译成可执行文件;如果没有,则在底层资源库的基础上开发、编译;
所述Android模块用于通过在移动端上控制所述AI编程平台模块实现相应的操作。
2.根据权利要求1所述的移动端可视化AI编程平台,其特征在于:所述Python接口读取输入的Python指令并运行Python文件包括:下载Python源代码,通过交叉编译生成Python编译器,将Python源代码转化成更底层的语言,并用更底层的资源来运行得到结果。
3.根据权利要求1所述的移动端可视化AI编程平台,其特征在于:用户通过该AI编程平台进行编程包括:Aidcode编程器读入用户输入指令并进行指令的解析;根据指令解析结果进行Aidcode编程器与Linux内核的通信交互;将通信交互结果通过显示控件反馈运行结果到显示控件上进行显示。
4.根据权利要求3所述的移动端可视化AI编程平台,其特征在于:在通过Aidcode编程器读入用户输入指令之前还包括用户根据所述Aidcode编程器上显示的运行结果输入下一步的指令并重复上述内容。
5.根据权利要求3所述的移动端可视化AI编程平台,其特征在于:所述Aidcode编程器读入用户输入指令并进行指令的解析包括:后台监听端口实时监听输入的字符,并根据输入字符的先后顺序组成相应的字符串;根据所有字符串的先后顺序组成完整的指令,并解析每个字符串的含义;根据解析的字符串的含义得到完整指令的含义,并重复上述步骤直到解析完成所有输入指令。
6.根据权利要求3所述的移动端可视化AI编程平台,其特征在于:所述根据指令解析结果进行Aidcode编程器与Linux内核的通信交互包括:读入解析后的用户输入指令;调用fork函数生成一个子进程,并将fork函数返回的pid值赋给fpid;调用wait函数,传入null并判断fpid是否为零;如果fpid为零则调用execvp函数,并把解析后的用户输入指令传进去,根据fpid访问子进程地址下的不同文件夹,得到execvp的输出结果;如果fpid不为零,则返回到读入解析后的用户输入指令步骤。
7.根据权利要求6所述的移动端可视化AI编程平台,其特征在于:不同的输入指令,访问不同进程号地址下的不同文件夹,得到不同execvp参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968626.4A CN110716716B (zh) | 2019-10-12 | 2019-10-12 | 移动端可视化ai编程平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968626.4A CN110716716B (zh) | 2019-10-12 | 2019-10-12 | 移动端可视化ai编程平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716716A CN110716716A (zh) | 2020-01-21 |
CN110716716B true CN110716716B (zh) | 2023-10-27 |
Family
ID=69212576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968626.4A Active CN110716716B (zh) | 2019-10-12 | 2019-10-12 | 移动端可视化ai编程平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716716B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857693B (zh) * | 2020-05-29 | 2023-12-26 | 北京编程猫科技有限公司 | 一种基于图像化编程的调用第三方函数的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654833A (zh) * | 2012-02-01 | 2012-09-05 | 中兴通讯(香港)有限公司 | 一种手机应用开发方法和系统 |
CN102880452A (zh) * | 2012-02-01 | 2013-01-16 | 日照市国软软件有限公司 | 一种可跨语言重用的编程语言 |
CN103793219A (zh) * | 2012-11-05 | 2014-05-14 | 上海略知一二网络科技有限公司 | 一种移动终端应用程序开发系统及方法 |
CN108958716A (zh) * | 2018-06-27 | 2018-12-07 | 森汉智能科技(深圳)有限公司 | 智能机器人上实现移动端编程与ar系统结合的方法 |
CN109213482A (zh) * | 2018-06-28 | 2019-01-15 | 清华大学天津高端装备研究院 | 基于卷积神经网络的人工智能图形化应用平台及应用方法 |
CN109634561A (zh) * | 2018-10-16 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050034100A1 (en) * | 2003-08-04 | 2005-02-10 | Hanbai Liu | Visual programming method and system thereof |
-
2019
- 2019-10-12 CN CN201910968626.4A patent/CN110716716B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654833A (zh) * | 2012-02-01 | 2012-09-05 | 中兴通讯(香港)有限公司 | 一种手机应用开发方法和系统 |
CN102880452A (zh) * | 2012-02-01 | 2013-01-16 | 日照市国软软件有限公司 | 一种可跨语言重用的编程语言 |
CN103793219A (zh) * | 2012-11-05 | 2014-05-14 | 上海略知一二网络科技有限公司 | 一种移动终端应用程序开发系统及方法 |
CN108958716A (zh) * | 2018-06-27 | 2018-12-07 | 森汉智能科技(深圳)有限公司 | 智能机器人上实现移动端编程与ar系统结合的方法 |
CN109213482A (zh) * | 2018-06-28 | 2019-01-15 | 清华大学天津高端装备研究院 | 基于卷积神经网络的人工智能图形化应用平台及应用方法 |
CN109634561A (zh) * | 2018-10-16 | 2019-04-16 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110716716A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mirzaei et al. | Testing android apps through symbolic execution | |
US7478366B2 (en) | Debugger and method for debugging computer programs across multiple programming languages | |
US6675371B1 (en) | Java and native application window integration | |
CN110928529A (zh) | 辅助算子开发的方法和系统 | |
US8615750B1 (en) | Optimizing application compiling | |
CN110149800A (zh) | 一种用于处理与源程序的源代码相关联的抽象语法树的装置 | |
CN112328229A (zh) | 一种快速创建Jenkins流水线的方法 | |
CN111459499A (zh) | 程序编译方法及装置、计算机存储介质、电子设备 | |
CN110673837A (zh) | 代码修复方法及装置、电子设备、计算机可读存储介质 | |
CN115455329A (zh) | 一种b/s架构跨平台跨多端rpa设计器系统及实现方法 | |
Bouillon et al. | Reverse engineering of web pages based on derivations and transformations | |
CN110716716B (zh) | 移动端可视化ai编程平台 | |
CN110928760B (zh) | 一种嵌入式系统中的单元测试方法与装置 | |
CN114217789A (zh) | 功能组件拓展方法、装置、设备、存储介质及程序产品 | |
CN113515286A (zh) | 一种小程序生成运行方法、装置、设备及存储介质 | |
CN111240658B (zh) | 一种基于Unity引擎的控制台实现方法及终端 | |
CN112965716A (zh) | 页面处理方法、装置、电子设备及可读存储介质 | |
CN107423074B (zh) | 一种创建具有通用组件的跨平台hmi应用的系统和方法 | |
Jaber et al. | A high-level modeling language for the efficient design, implementation, and testing of Android applications | |
CN115437608A (zh) | 智能研发辅助方法及装置 | |
CN111427770B (zh) | 一种资源测试方法及相关设备 | |
WO2004088508A2 (en) | A method of creating software that is portable across different operating systems | |
Del Sole | Visual Basic 2012 Unleashed | |
Afshari et al. | Liberating the programmer with prorogued programming | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211112 Address after: 610041 b7-508, No. 99, Tianhua 1st Road, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan Applicant after: Chengdu agaxi Intelligent Technology Co.,Ltd. Address before: 610000 No. 1020, unit 3, building 25, No. 36, Section 2, Jinhua Road, Jinjiang District, Chengdu, Sichuan Applicant before: Yi Hongyan |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |