导航:首页 > 源码编译 > 深度编译器

深度编译器

发布时间:2022-07-25 13:01:09

❶ C和C++是否都是用同一个编译器。例如Visual C++6.0可用作两种语言的编译器,可以吗

VC++是集成后的开发环境,它已经集成了c和c++两个的编译器,用户在使用的时候自然感觉像是一个;
c是gcc编译器,c++是g++编译器;对于不同的语言,编译器是肯定不能通用的,编译器是完全按照语言的特性、语法进行校验、监测等操作的。。。。
比如c++里的类,你用c的编译器肯定识别不了。。当然c++号称是深度匹配c语言的,但是像c语言中的printf等输入输出函数,c++也是不能识别的。。

❷ 人工智能 python深度学习库有哪些

由于Python的易用性和可扩展性,众多深度学习框架提供了Python接口,其中较为流行的深度学习库如下:
第一:Caffe
Caffe是一个以表达式、速度和模块化为核心的深度学习框架,具备清晰、可读性高和快速的特性,在视频、图像处理方面应用较多。
Caffe中的网络结构与优化都以配置文件形式定义,容易上手,无须通过代码构建网络;网络训练速度快,能够训练大型数据集与State-of-the-art的模型,模块化的组件可以方便地拓展到新的模型与学习任务上。
第二:Theano
Theano诞生于2008年,是一个高性能的符号计算及深度学习库,被认为是深度学习库的始祖之一,也被认为是深度学习研究和应用的重要标准之一。其核心是一个数学表达式的编译器,专门为处理大规模神经网络训练的计算而设计。
Theano很好地整合了Numpy,可以直接使用Numpy的Ndarray,使得API接口学习成本大为降低;其计算稳定性好,可以精准地计算输出值很小的函数;可动态地生成C或者CUDA代码,用来编译成高效的机器代码。
第三:TensorFlow
TensorFlow是相对高阶的机器学习库,其核心代码使用C++编写,并支持自动求导,使得用户可以方便地设计神经网络结构,不需要亲自编写C++或CUDA代码,也无须通过反向传播求解梯度。由于底层使用C++语言编写,运行效率得到了保证,并简化线上部署的复杂度。
TensorFlow不只局限于神经网络,其数据流式图还支持非常自由的算法表达,也可以轻松实现深度学习以外的机器学习算法。
第四:Keras
Keras是一个高度模块化的神经网络库,使用Python实现,并可以同时运行在TensorFlow和Theano上。
Keras专精于深度学习,其提供了到目前为止最方便的API,用户仅需将高级的模块拼在一起便可设计神经网络,大大降低了编程开销与理解开销。

❸ 最权威用的最广泛的java编译器是什么

JAVA编译器是JBudler Eclipse ??

开玩笑!

首先,JBudler Eclipse 属于IDE,是集成开发环境(IDE)!IDE是集成了编译,检错,自动查找错误,深度反检查功能的辅助开发工具。就是说,只要属于java的IDE,都会把sun的编译器集成到它里面来。而JBudler与Eclipse 等这些开发工具更多的是体现在对不同层面java开发提供了不同的强大功能。比如:MyEclipse强势在web开发的便捷。JBudler对GUI更强大。

编译器是java语言转换为。class的工具,只有sun才是权威的,它把它集成在jdk里面,如果要单独使用它,可以从jdk文件重拿出来,或者从sun的网站上下载。

楼主的问题本身问的就有问题:sun的编译器只有一个,而且是开源的。

你无论用什么IDE,最终都是用的sun的编译器编译源码的。就是手动编译用的口令javac。

❹ 深度linux的arm-linux-gnueabihf-gcc编译参数如何配

一般来说,交叉编译工具是用于在一种架构的主机(例如x86)上,编译另一种主机(例如arm)运行的程序,在这个编译期间,需要用到的头文件/库,往往需要从一个叫目标文件系统(sysroot)的路径开始查找。

sysroot里包含usr,lib,usr/lib usr/include等文件夹结构和必要的头文件和库,你理解为目标机器上的整个文件系统,搬到你这台电脑上,然后作为一个文件夹存在。

交叉编译原则上不能用主机(host)的头文件,

交叉编译一般无法使用主机的库(so)文件

最后结论:你这个问题,如果你是为了另一套机器(比如arm开发板编译),那么需要搞一套目标机的文件系统才能顺利编译。

对了,目标文件系统需要编译了python和dev头文件/库,好多嵌入式设备裁剪的很厉害,都不用python。

❺ 新版编译器OnCalculate我这样编写,理解,对吗

OnCalculate

OnCalculate()函数只在自定义指标中调用,通过Calculate计算指标值是必须的。通常在接到指标计算的交易品种新订单号时发生。这个指标不需要附在交易品种的价格图表上。

OnCalculate() 函数有个返回值int。有两个可能定义。一个指标中不可以有两个函数版本。

一种是用于单数据缓冲中计算的指标。例如,自定义移动平均数指标。

int OnCalculate (const int rates_total, // 价格[] 数组的大小
const int prev_calculated, // 前一次调用处理的柱
const int begin, // 有效数据起始位置
const double& price[] // 计算的数组
);
价格[]数组中,可以传送时间序列和计算的一些指标缓冲。ArrayGetAsSeries()函数确定价格[] 数组索引方向。为了不依赖默认值,需要无条件的调用ArraySetAsSeries()函数用于工作的数组。

价格[]数组中,在“参数”标签启动指标时,选择适当的时间序列或者指标。所以,需要在“应用于”字段的下拉列表中指定必要的项目。

Selecting timeseries to calculate an indicator

从其他mql5程序中接收自定义指标值,要使用iCustom()函数,返回嵌入指标处理程序。可以指定适当的价格[]数组或者另一个指标处理程序。这个参数在自定义指标输入变量列表中最后传送。
示例:

void OnStart()
{
//---
string terminal_path=TerminalInfoString(STATUS_TERMINAL_PATH);
int handle_customMA=iCustom(Symbol(),PERIOD_CURRENT, "Custom Moving Average",13,0, MODE_EMA,PRICE_TYPICAL);
if(handle_customMA>0)
Print("handle_customMA = ",handle_customMA);
else
Print("Cannot open or not EX5 file '"+terminal_path+"\\MQL5\\Indicators\\"+"Custom Moving Average.ex5'");
}
这个示例中,通过的最后参数是PRICE_TYPICAL值(从ENUM_APPLIED_PRICE计数开始),指出自定义指标可以用获得的典型价格建立(高价+低价+平仓)/3。如果没有确定这个参数,指标基于PRICE_CLOSE 值建立,例如每栏平仓价。

另一个示例显示依照指定价格[]数组的最后一个参数传送指标处理程序,由函数iCustom()所描述。

另一种形式意在所有其他指标,计算更多的时间序列。

int OnCalculate (const int rates_total, // 输入时间序列大小
const int prev_calculated, // 前一次调用处理的柱
const datetime& time[], // 时间
const double& open[], // 开盘价
const double& high[], // 最高价
const double& low[], // 最低价
const double& close[], // 收盘价
const long& tick_volume[], // 订单交易量
const long& volume[], // 真实交易量
const int& spread[] // 点差
);
开盘价[],最高价[],最低价[]和收盘价[]参数由当前时间表的开盘价,最高和最低价和收盘价数组组成。时间参数[]包括开盘时间值数组,扩展参数[]有一个数组包括扩展历史记录(如果为交易安全提供扩展)。volume[] 和tick_volume[] 参数分别包括交易和交易量历史记录。

确定时间[]索引方向, 开盘价[], 最高价[], 最低价[], 收盘价[], 交易量[], 交易量[] 和 扩展[],需要调用ArrayGetAsSeries()函数。若不想依赖默认值,需要无条件的调用函数ArraySetAsSeries()用于工作的数组。

首先rates_total 参数包括栏的数量,可用来计算指标,与图表中现存的栏数一致。

需要注意OnCalculate() 返回值和第二输入参数prev_calculated的连接。调用函数时,prev_calculated 参数包括上次调用时OnCalculate() 返回值。这就允许用经济算法计算自定义指标,避免重复计算。

返回rates_total参数值足够了,包括当前调用函数的栏数。如果自从上次调用函数OnCalculate(),价格数据更改了(下载深度历史记录或者填满历史空白期),输入参数prev_calculated 值由终端机设置为零。

注:如果OnCalculate返回零,那么指标值不能显示在客户端的数据窗口。

为更好的理解,启动附加以下代码的指标很有用。

指标示例:
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots 1
//---- 图的线
#property indicator_label1 "Line"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrDarkBlue
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- 指标缓冲区
double LineBuffer[];
//+------------------------------------------------------------------+
//| 自定义指标初始化函数 |
//+------------------------------------------------------------------+
int OnInit()
{
//--- 指标缓冲区绘图
SetIndexBuffer(0,LineBuffer,INDICATOR_DATA);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| 自定义指标重复函数 |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
//--- 获得当前交易品种和图表周期的有效柱数
int bars=Bars(Symbol(),0);
Print("Bars = ",bars,", rates_total = ",rates_total,", prev_calculated = ",prev_calculated);
Print("time[0] = ",time[0]," time[rates_total-1] = ",time[rates_total-1]);
//--- 为下次调用返回prev_calculated值
return(rates_total);
}
//+------------------------------------------------------------------+

❻ 为什么一个堆栈的深度最大为64KB

好像与编译器有关,记得是编译器自己定义了栈的大小的。期待达人回答。

❼ 方舟社区是骗子吗

在华为声称“方舟编译器,可通过架构级优化让系统操作流畅度提升24%,安卓应用流畅度可提升60%”以来,编译器这个概念就被带火了,方舟编译器也被媒体热炒。
日前,华为方舟编译器在鲲鹏社区上架,根据网站上公布的资料,方舟编译器的介绍为:
方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC运行在X86 linux架构服务器上,生成的二进制运行在Aarch64 架构服务器上。
一位朋友告知:
有人比较了一下,华为的方舟和GCC没有区别,只有非常少的部分不一样,方舟编译器压缩包还是叫gcc-ark。
之后,基于不为人知的原因,鲲鹏社区的方舟编译器火速下架,原网址链接也被和谐了。
关于华为鲲鹏社区上公布的方舟编译器资料,铁流咨询了业内人士,回复是:
交叉编译器,就是在x86上编译出arm的二进制代码。gcc本身就做得很好了......动态二进制翻译器,可以把x86应用程序动态翻译为ARM指令集,执行在ARM服务器上。估计效率可以达到70%左右......方舟中最核心的应该是支持动态二进制翻译。
可以说,华为鲲鹏社区上公布的方舟编译器是服务于华为ARM服务器的,由于ARM在服务器上的生态相对于X86差距过大,很多软件不支持ARM。而ARM服务器要推广,需要支持大量没有源代码的x86程序。这项应用能跑二进制代码,而当前二进制翻译效率都不是很高。所以华为打算用动态二进制翻译来弥补ARM在服务器生态上的不足。
用二进制翻译来弥补生态问题,这种思路其实早已不是什么新闻,当年的全美达就用二进制翻译兼容X86生态,最后被英特尔用专利诉讼拖死。ARM在智能手机领域火了之后,英特尔也用二进制翻译的做法来兼容ARM的生态,最终也是折戟沉沙。
之所以出现这种情况,主要是因为二进制翻译会造成性能损耗,以及二进制翻译未必能够完美解决兼容问题。就性能损耗来说,在翻译之后使英特尔的CPU性能只有原来的70%,凭空损失掉30%的性能后,使英特尔的CPU在移动端上性价比和性能功耗比这两项属性上都不如ARM,同时,移动端恰恰是对功耗指标非常敏感的,这使英特尔在市场竞争中非常不利。

还有就是兼容问题,以实际体验来说,铁流好友使用过联想搭载英特尔CPU的手机,日常使用问题不大,就是个别应用会时不时闪退。猜测可能是生态兼容方面依然存在一定问题。
而英特尔曾经面对的问题,将来华为可能都要面对。从实践上看,自己建生态才是正途,比如X86在PC和服务器的统治地位,以及ARM在智能手机上的统治地位,兼容别人的生态是投机取巧,走捷径的影响是根基不牢,结局是欲速则不达。如果没有政府输血和国企订单,在纯粹商业模式下,十有八九要悲剧。
由于鲲鹏社区上公布的方舟编译器是用在ARM服务器上的,因而铁流很疑惑为何会宣传“方舟编译器,可通过架构级优化让系统操作流畅度提升24%,安卓应用流畅度可提升60%”。
业内人士告知:
那他们应该把所有的几个系统统称为方舟编译器了......手机上重点是java虚拟机,执行的是安卓的应用,主要是java代码,也有部分ar二进制代码或者库。
对此,华为手机产品线副总裁李小龙发文回应称,华为云鲲鹏社区“这个网站不是华为消费者BG维护的网站,此编译器好像是服务器部门用的,和我们之前和P30 一起发布的方舟编译器没有任何关系。”
综合一下看,华为云鲲鹏社区的方舟编译器和华为消费终端的方舟编译器应该不是一个东西。不过,华为消费终端的方舟编译器也是过度炒作被神话的。
华为方舟编译器是如何做到第三方应用性能提升的?目前还没有官方的回应,而流传的消息则有两种。一种是说华为针对安卓原来的编译器进行了深度的魔改实现了性能的巨大提升,一种是说华为通过将Java代码绕过虚拟机直接翻译成机器码来实现的。当然还有一种混合的说法,即华为通过将Java代码绕过虚拟机直接翻译成机器码来对原来的编译器进行了深度的魔改。针对直接将Java代码翻译成底层机器码的方法,一般认为这当然有利于提升性能,但不利于应用程序的可移植性和可维护性以及操作系统的安全性。本次华为云鲲鹏社区的方舟编译器的下架事件,只不过是给被神话的方舟编译器降温挤水分而已。
另外,现在国内有一股拿开源改改就标榜自主的风气,比如此前的红芯浏览器。这种现象和以前的“汉芯”事件一样造成了很恶劣的影响。必须说明的是,“汉”、“红”都是有一定特殊含义的,这种做法造成的伤害不仅仅局限于信息产业。
铁流认为,基于开源软件做修改,就说明是某开源软件的修改版即可,比如鲲鹏社区的方舟服务器,就对就外宣传是GCC 7.3的修改版即可,不要标榜方舟编译器以免误导吃瓜群众。
类似的,华为GaussDB 数据库就标明是PostgreSQL9.2修改版,不要玩自主研发GaussDB 数据库的文字游戏。媒体在报道中出现了“外界也认为 GaussDB 内核具有超越现有开源数据库如 MySQL 与 PostgreSQL 的极致性能”,宣传上的文字游戏已经误导了不少人。
还有国内这些Linux操作系统,早期的Happy Linux、红旗Linux的叫法就挺好,把技术来龙去脉说的很清楚,现在各种麒麟OS,不了解内情的老百姓还真会被误导。
之所以出现这种现象,根源是在技术和国外有较大差距的情况下,又喜欢过度标榜自己,逐渐演变成了浮夸风。
华为鲲鹏社区方舟编译器上架后火速下架,根源是国内大环境充斥着浮夸风后翻车的结果,如果还是喜欢过分标榜自己,类似的事件不会是第一次,也不会是最后一次。

❽ 深度linux系统怎么安装软件

深度Linux系统自带软件中心,通过深度Linux软件中心可以像在Windows系统中一样,简单安装软件,具体如下:

1、打开深度Linux软件中心,可以看到软件左侧对软件类型进行了详细的分类,根据需求找到要安装的软件。

❾ 深度学习机器的GPU加速程度相比超算中心CPU服务器的计算核怎么样

推荐品牌: LINKZOL(联众集群);
参考其官网;
操作系统安装Ubuntu 14.04 LTS需要软件:
编译器:GNU编译器包括C/C++/Fortran编译器;
Intel编译器包括C/C++/Fortran编译器、MKL、等;
并行环境:OpenMPI、MPICH等MPI并行环境;
GPU发环境:新CUDA驱、编译器、调试器、SDK及例文件等;
cuDNN加速CUDA FFT、CUDA BLAS等;
深度习框架:Caffe, Torch, Theano, BIDMach、TensorFlow;其Caffe需要编译提供python接口Matla(支持mex编译)接口;
DNN平台:基于B/S架构便于用户实且视化进行DNN训练、测试

推荐配置:
计算平台采用:LZ743GR-2G/Q
系统:Ubuntu 14.04.3 x64
CPU:Intel Xeon十核E5-2630v4(2.2GHz,8.0 GT/s)
内存:原厂64GB内存 (16GB×4) DDR4 2133MHZ ECC-REG.(带内存校错技术支持2T)
系统硬盘:INTEL 2.5寸240G 企业级SSD固态硬盘(支持8块硬盘类型:SATA,SSD)
系统硬盘:希捷3.5寸4T 7200RPM 企业级硬盘(支持8块硬盘类型:SATA,SSD;)
GPU卡:2块NVIDIA TATAN-X GPU卡 (CUDA核数3584核12G DDR5 显存2GPU卡)
电源:1200W High efficiency (96%)金牌电源

推荐配置二:
计算平台采用:LZ-748GT
系统:Ubuntu 14.04.3 x64
CPU:Intel Xeon十二核E5-2650v4(2.2GHz,9.6 GT/s)
内存:原厂256GB内存 (16GB×16) DDR4 2133MHZ ECC-REG.(带内存校错技术支持2T)
系统硬盘:2块INTEL 2.5寸480G 企业级SSD固态硬盘(支持8块硬盘类型:SATA,SSD)
系统硬盘:3块希捷3.5寸4T 7200RPM 企业级硬盘(支持8块硬盘类型:SATA,SSD;)
GPU卡:4块TESLA TITANX GPU计算卡或者4块tesla P4O GPU卡 (CUDA核数3584核12G DDR5 显存4GPU卡)
电源:2000W High efficiency (94%)冗余钛金电源

推荐配置三:
计算平台采用:LZ428GR-8G/Q
系统:Ubuntu 14.04.3 x64
CPU:Intel Xeon十四核E5-2690v4(2.6GHz,9.6GT/s)
内存:原厂256GB内存 (16GB×16) DDR4 2133MHZ ECC-REG.(带内存校错技术支持2T)
系统硬盘:2块INTEL 2.5寸480G 企业级SSD固态硬盘(支持8块硬盘类型:SATA,SSD)
系统硬盘:3块希捷2.5寸2T 7200RPM 企业级硬盘(支持8块硬盘类型:SATA,SSD;)
GPU卡:8块TESLA P40 GPU计算卡或者8块NVIDIA TATAN-X GPU卡 (CUDA核数3584核12G DDR5 显存8GPU卡)
电源:1600W(2+2) High efficiency (96%)钛金电源;
咨询:1381O114665

❿ 深度linux怎么安装软件

一、解析Linux应用软件安装包
通常Linux应用软件的安装包有三种:

1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。

2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。

3) dpkg包,如software-1.2.3-1.deb。它是Den Linux提供的一种包封装格式。

而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:

名称-版本-修正版-类型

例如:

1)software-1.2.3-1.tar.gz 意味着:

软件名称:software

版本号:1.2.3

修正版本:1

类型:tar.gz,说明是一个tar包。

2)sfotware-1.2.3-1.i386.rpm

软件名称:software

版本号:1.2.3

修正版本:1

可用平台:i386,适用于Intel 80x86平台。

类型:rpm,说明是一个rpm包。

注:由于rpm格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。

而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。

二、了解包里的内容
一个Linux应用程序的软件包中可以包含两种不同的内容:

1)一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所 有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。

2)另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。

通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。

三、搞定使用tar打包的应用软件
1. 安装:

整个安装过程可以分为以下几步:

1)取得应用软件:通过下载、购买光盘的方法获得;

2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;

3)阅读附带的INSTALL文件、README文件;

4)执行“./configure”命令为编译做好准备;

5)执行“make”命令进行软件编译;

6)执行“make install”完成安装;

7)执行“make clean”删除安装时产生的临时文件。

好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

2. 卸载:

通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。

那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。

四、搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。

1. 安装:

我只需简单的一句话,就可以说完。执行:

rpm –ivh rpm软件包名

更高级的,请见下表:

rpm参数 参 数 说 明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装

这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。

2. 卸载:

我同样只需简单的一句话,就可以说完。执行:

rpm –e 软件名

不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:

rpm –ivh software-1.2.3-1.i386.rpm

而当卸载时,则应执行:

rpm –e software。

另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

五、搞定使用deb打包的应用程序
这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:

1. 安装

dpkg –i deb软件包名

如:dpkg –i software-1.2.3-1.deb

2. 卸载

dpkg –e 软件名

如:dpkg –e software

阅读全文

与深度编译器相关的资料

热点内容
算法期中试卷 浏览:939
php连接hbase 浏览:815
服务器的威胁性应该是什么等级 浏览:827
3d打印机的算法原理 浏览:481
腾讯云通信服务器 浏览:889
minecraft最可怕服务器地址 浏览:274
程序员选专业有必要吗 浏览:32
如何重装rpc服务器 浏览:637
程序员必备的app 浏览:167
电动汽车加密币 浏览:962
xp支持多少层文件夹 浏览:650
阿里云服务器防御指标 浏览:895
cc网络编程学习 浏览:460
单片机又叫微控制器对吗 浏览:662
安卓软件商店如何评分 浏览:657
linuxexecv 浏览:616
苹果照片视频文件夹 浏览:392
cdes加密解密算法 浏览:752
app发版如何让运营及时配活动 浏览:801
python结束界面 浏览:485