自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(2961)
  • 资源 (44)
  • 收藏
  • 关注

原创 鸿蒙OS应用开发的开发环境

当你想投入到这个生态系统里的时候,首先是使用它,这是最方便的方法,比如买一台带有鸿蒙系统的手机,并且不断地使用它,提出你自己的建议,让它进行完善和改进。在这里主要开始学习开发鸿蒙系统的应用,由于鸿蒙系统发布的时间不是很久,当然是相对安卓和IOS来说,因此它是一个全新的系统,并且致力于创建一种更方便的软件方式,它引入不同于以往的软件开发语言,以及不同的界面接口。这时候,就可以看到应用的名称,包的名称,保存的位置,编译的SDK版本,运行模式,是否可视化编辑,语言,兼容性API,设备类型。

2023-12-07 12:31:53 621

原创 使用VS2022编译树莓派的远程工程时出错boost::log::v2_mt_posix::attribute_name::get_id_from_string(char const*)

最后才发现一个问题,在linux命令行里编译时,可以把多个参数一起写入去,它们会分配到不同阶段使用,但是 VS2022就不行了了。因为C++的应用使用 boost库,这时候创建简单的工程都可以编译,但是到log这个库,就怎么搞都不成功了。libboost_log.a,所以要注意这个变换规则,首先要把lib去掉,再要把.a去掉。这样是可以编译通过的,那么说明就是VS2022的配置问题了。仔细地查看了整个程序的配置参数,都没有发现什么问题。这样添加之后,还是编译不会通过,还会提示出错。

2024-10-03 22:06:45 471

原创 树莓派5里使用protobuf

可以看到我这里的系统带的是3.21.12的版本,对于我来说,这样是满足了需求了。不去折腾最新的版本。比如最新的V28版本,就会要求使用cmake或者bazel来编译了。由于现在protobuf越来越复杂了,自己去编译,还是比较麻烦。这样就安装成功所有开发相关的库文件了,这里主要是针对C++的。如果不要求使用最新的版本,直接使用系统里带的版本也是可以的。然后就可以在树莓派里使用它来编译了。

2024-10-03 11:18:42 325

原创 C#里使用protobuf的简单的例子

由于这里是采用Win11,所以下载这个文件:protoc-28.2-win64.zip。可以从这里下载到相关的源码,然后再下载它的协议编译器protoc.exe文件,在这里直接使用protobuf的项目源码的方式:Google.Protobuf。有了这个文件,就可以添加到项目里,不过项目里要添加protobuf引用。通过上面的学习,就基本上可以进入protobuf的门路了。在这里打包,就会生成一个out_bin.dat的文件。其它更加复杂,高级的功能就要自己去领会了。再添加它的签名键:keys。

2024-10-02 20:15:56 738

原创 VS2022跨平台开发树莓派5的应用程序

这样操作系统就会比较稳定,再加它支持PCIE的硬盘,那么数据保存和加载就已经很快了。在这里添加树莓派的IP地址,以及帐号和密码,当然要先在树莓派里打开远程SSH功能。对于那些不想在Linux下进行开发的人来说,采用Windows也是可以的。在这里就可以写代码,并且进行调试输出了。跟调试本机的代码差不多。并且不是太贵,还容易扩展硬盘,还销售了比较多,超过1亿台。这样基于树莓派的开发,就变得比较重要了。这样就可以创建基于树莓派的应用程序了。由于树莓派5比较适合硬件相关的项目,所以应用的场合就会越来越多。

2024-10-02 12:34:48 237

原创 C#里BinarySearch函数的二分法必须学会使用

使用由 Array 的每个元素和指定对象实现的 IComparable 泛型接口,搜索整个一维排序数组中的特定元素。使用指定的比较器在已排序 List 的某个元素范围中搜索元素,并返回该元素从零开始的索引。如果未找到该元素,则该方法返回一个负数,该负数是下一个大于指定元素的元素的索引的按位补码。使用默认的比较器在整个已排序的 List 中搜索元素,并返回该元素从零开始的索引。使用指定的比较器在整个已排序的 List 中搜索元素,并返回该元素从零开始的索引。

2024-09-29 17:54:51 128

原创 C#源码安装ZedGraph组件,并且立即演示使用

这样就可以把代码全部下载下来,不过它是支持.net 3.5的版本,现在已经不再使用,编译器里也没有带有这个SDK,需要把它删除掉,这里的ZedGraph.dll是公共文件,ZedGraph.WinForms.dll是导入到WinForm应用程序的文件。当然这个程序没有干什么事情,下一次再来一个复杂一点的程序。在工具箱里添加动态连接库,就可以出现这个组件。这里添加了.net 4.8的支持。这样就可以运行程序了,

2024-09-28 16:54:31 324

原创 在windows上编译micropython工程出错

所以会在目录\micropython\ports\windows里找到工程文件micropython.vcxproj。然后就可以在Windows目录下面找到对应的编译文件,这里主要是Windows上对代码进行研究学习使用。反正我也是没有找到这个原因,后来只能把它的一个用不到的模块给拿掉,就可以编译成功了。这时候去进行编译,就会发现需要安装python 3的版本。在工程文件里,把红色这个模块删除,就可以编译成功了。

2024-09-27 19:37:17 94

原创 C#里使用最简单的线程调用界面更新的方法

这是 lambda 表达式不支持的匿名方法的唯一功能。但是线程与界面线程一般不是同一个线程,不能直接调用更新,需要采用委托的方式来更新。为实现向后兼容性,如果只有一个参数名为 _,则将 _ 视为匿名方法中该参数的名称。从 C# 11 开始,编译器可以缓存从方法组转换创建的委托对象。要实现这样的功能有很多种写法,但是最简单的写法就是采用委托delegate。意思就是说,要线程把数据定义更新的方法之后,把指针发送给界面线程来执行。在C#的界面应用里,经常会遇到线程里计算得到的数据,要更新到界面上。

2024-09-24 08:57:53 513

原创 C#往压缩包Zip文件的文件追加数据

接着就可以使用ZipArchive.GetEntry(String) 方法获取这个索引项,最后就可以打开此文件进行读写的操作了。release是文件在压缩包里的目录名称,ExistingFile.txt是在这个目录下面的文件名称。往一个已经压缩好的压缩包里追加数据,一般就有两种方式,一种是前面已经学习过的,就是追加一个新的文件,在压缩包里声明的名称,与外面的文件路径又一点差别的,它是采用/来分隔目录与文件的层次关系。往已经存在的文件追加数据,需要先找到文件索引。C#往压缩包Zip文件的文件追加数据。

2024-09-19 10:29:47 416

原创 C#往压缩包Zip文件里创建一个新的文件

返回的对象readmeEntry是类ZipArchiveEntry的对象,它是用来操作压缩里的一个文件,比如这个文件删除、打开等属性。有时候拿到一个压缩包Zip文件,又不想使用程序把它解压出来,再添加一个文件进去,再进行压缩打包。比如一个游戏软件压缩包,可能比较大,如果解压再添加,就会速度比较慢,使用这种方法就可以直接添加。这里使用StreamWriter打开压缩包中的一个文件,然后就可以往这个文件里写入数据,并进行压缩的操作。创建在 zip 存档中有指定路径和项名的空项。

2024-09-17 22:11:35 534

原创 C#解压Zip文件到指定目录

/压缩文件文件路径。前面学习了怎么样把目录压缩到一个Zip文件,现在来学习怎么样把压缩文件解压到目录,这是学习解压缩文件的一个必须的操作。最后一个参数就是文件名称使用不同编码时需要使用的参数,如果是不同国家的操作系统就需要适应了。将指定 zip 存档中的所有文件解压缩到文件系统的一目录下,并使用项名称的指定字符编码。主要有两个参数,第一个参数是要解压缩的文件名称,第二个参数是解压缩到所在的目录。将指定 zip 存档中的所有文件都解压缩到文件系统的一个目录下。

2024-09-17 20:33:11 501

原创 C#使用ZipFile的方法CreateFromDirectory

因为数据是一种思想的表现,特别是ChatGPT的AI出现,导致很多数据无限地使用机器化地产生,所以数据压缩还是很常有的事情,毕竟压缩之后可以减少磁盘空间的占用。在C#里有一个专门处理磁盘压缩功能,它就是System.IO.Compression 命名空间,包含为流提供基本压缩和解压缩服务的类。第四个参数是表示是否包含目录的名称,如果设置为true表示包含目录名称,如果设置为false不包含目录名称。由于现在数据越来越大,虽然磁盘的大小也在增加,但是数据增加的速度是远超过磁盘的增加速度。该文件不应执行压缩。

2024-09-14 16:14:48 320

原创 C#操作Windows时间同步

有时候需要手动地同步系统的时间,这时就是从网络上进行同步时间。如果采用手动的方式,往往需要点击时间,并找到选项来进行。如果采用程序的方式,就可以定时进行同步,又可以手动地进行同步时间。

2024-09-12 13:20:09 339

原创 C#读取应用配置的简单类

WindowsFormsApp3.exe”(CLR v4.0.30319: WindowsFormsApp3.exe): 已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll”。因为工业应用的软件,往往是多变的,特别是同一个工厂就有不同的参数,这样参数管理配置,就成为工厂软件开发的必选项,并且要非常方便地操作,快速地使用。后期可以随着运行应用之后修改。

2024-09-12 09:34:58 352

原创 C#里使用位图容器BitArray

比如从网络协议里传送过来的字节流,就可以直接写入到里面,就可以直接获取对应的位图操作了。在C#里就是使用BitArray来管理位图数据结构,这样就比较方便处理。由于经常需要操作一些位表示的数据结构,那么就需要采用位图的管理方式。由于这个位图比较简单,只要搞懂下面的例子,就可以入门了。这个类可以有多种构造函数,可以满足绝大部分的要求。

2024-09-10 19:48:58 607

原创 Application.OpenForms[“Form2“]找不到窗口的问题

在WinForm开发里,很多人想判断窗口是否已经打开,所以使用窗口属性OpenForms来解决这个问题,但是它是有一个先决条件,就是在初始化函数InitializeComponent()里声明窗口的名称,不能只是在属性里默认创建的名称。这里采用遍历窗口列表,并使用is判断窗口类型方式,这样就不会出现上面的问题。否则这行代码永远返回空的。

2024-09-09 11:25:38 156

原创 鸿蒙应用开发之List容器

前面学习了表格类似的布局容器,在这里也有列表形式的容器,比如List容器。特别适合图片进行浏览显示,这样用户可以不断地滚动查看图片,差不多是无限查看的可能。.divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线。.edgeEffect(EdgeEffect.Spring) // 滑动到边缘无效果。采用列面,本身就可以滚动,所以可以上下查看内容。这里设置的排列方向为竖直的排列方向。

2024-08-22 20:36:08 109

原创 鸿蒙应用开发之GridItem容器

.rowStart(1).rowEnd(2).columnStart(1).columnEnd(2) // 同时设置合理的行列号。}.columnStart(1).columnEnd(4) // 只设置列号,不会从第1列开始布局。从上图看到4字这项占用的空间比较大,其它的是一样的,这样的布局又是如何实现的呢?这时候就需要使用到GridItem容器。就是上面显示最后那列内容为5的表格。这样设置就会显示为4的单元格大小。

2024-08-16 11:24:54 95

原创 鸿蒙应用开发之Grid容器

而这个行列布局完全靠两个字符串来决定,因此,灵活性上来说,它没有GridRow容器灵活,但是它简单一些,对于大量元素显示的布局就比较合适,比如图片浏览显示等等。主要的属性就两个,第一个属性是columnsTemplate,它是设置每行多少列显示的。例如, '1fr 1fr 2fr' 是将父组件分3列,将父组件允许的宽分为4等份,第一列占1份,第二列占1份,第三列占2份。设置为'0fr'时,该列的列宽为0,不显示GridItem。如果这两个属性都设置,那么只按照这个设置进行显示,多余不会显示。

2024-08-08 10:00:03 116

原创 鸿蒙应用开发之GridRow和GridCol容器

在不同屏幕上布局是一个比较困难的问题,因为屏幕大小不一样,导致内容布局会比较混乱。所以提出一种网络的方式来布局,即使屏幕大小改变了,但是布局行列数不变,那么内容就不会混乱。这个参数是用来设置判断不同屏幕大小时,进行切换的判断标准。当屏幕大小为xs时,空间占用两格,当屏幕为sm时,占用3格,当为md时,占用4格。这个参数是用来表示每格之间的间距,x是表示横向方向,y是表示竖向方式。要想把这种布局搞好,还是需要不断试验和修改才能调整适合不同设备的界面。所以可以根据这个情况来设置界面的布局。主要有上面这些标志。

2024-08-06 12:01:58 118

原创 鸿蒙应用开发之Flex容器

前面学习了Column等容器,现在学习一个灵活弹性的容器,它就是Flex容器。它可以让容器里面的组件按不同的方式来排序前后,而不需要调整界面显示的代码。在这里可以看到组件显示的方向不一样,前面一行是从左到右进行布局,而后面一行是从右到左布局。针对这种需求,只能使用Flex容器才能方便实现。标准Flex布局容器。这是方向参数的区别。

2024-07-13 12:11:09 730 1

原创 鸿蒙应用开发之Counter容器

要在文本组件里显示出来,需要定义一个数字变量,然后在上面两个事件里对这个变量进行计数,点击减少就对变量进行减少,点击增加就对变量进行增加,然后就可以在文本组件里显示出变量的值变化。这段就是事件响应代码,如果变量值不是按1变化,可以按10变化地修改。上面组件中间显示5的组件是一个文本组件,边上提供了增减的按钮。

2024-07-11 11:40:31 753

原创 鸿蒙应用开发之ColumnSplit容器

这样就可以拖动的操作了。

2024-07-11 11:21:28 851

原创 鸿蒙应用开发之Column容器

这个Column容器设置显示为上一个容器的90%宽度,所以在手机两边就留有空间。其中看到每个边框有实线的也是一个Column容器,这里只不过把它的边框显示出来,最外面这个Column没有把边框线显示出来。先在最外面建立一个Column容器,space和方框显示等显示内容都是作为一行进行排列。如果一行里子容器不填满宽度,那么就需要进行排列,默认是中间排列,也可以设置为从左向右,或者从右向左都可行。这个容器已经使用了很多次,但是还是需要来简单地学习一下,它的主要作用是沿垂直方向布局的容器。

2024-07-05 10:26:19 142

原创 鸿蒙应用开发之Badge容器

在开发应用的时候,经常需要一些提示,特别当用户打开应用时,有一些事情需要提醒一下用户,但是不能自动打开这个窗口提示,这样会让用户比较烦。方法1: Badge(value: {count: number, position?在这里显示红点的地方,就是目前介绍的容器Badge实现的功能。从上面来看,有三种不同的形式,一种是在图标上显示一个红点,一种是图标后面显示红色文字,最后一种是显示一个数量。方法2: Badge(value: {value: string, position?根据字符串创建标记组件。

2024-07-04 10:28:55 125

原创 鸿蒙应用开发之OpenGL的EGL

EGL 是渲染 API(如 OpenGL ES)和原生窗口系统之间的接口,通常来说,OpenGL 是一个操作 GPU 的 API,它通过驱动向 GPU 发送相关指令,控制图形渲染管线状态机的运行状态,但是当涉及到与本地窗口系统进行交互时,就需要这么一个中间层,且它最好是与平台无关的,因此 EGL 被设计出来,作为 OpenGL 和原生窗口系统之间的桥梁。这也许就是EGL的功劳吧,简单地说EGL就是Opengl和平台各平台之间的一个适配器,是一系列的接口,具体实现是由具体的设备厂商实现的。

2024-06-29 12:23:31 181

原创 鸿蒙应用开发之OpenGL绘画三角形

并且使用GL_FLOAT类型,由于坐标值已经归一化,也就是在-1到1之间,所以设置为GL_FALSE,无须归一化处理。可用的符号常量有GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT,GL_UNSIGNED_SHORT, GL_FIXED, 和 GL_FLOAT,初始值为GL_FLOAT。这个数组定义了三角形的三个坐标,第一个顶点是(0.0f, 0.5f, 0.0f),第二个顶点是(-0.5f, -0.5f, 0.0f),第三个顶点是(0.5f, -0.5f, 0.0f)。

2024-06-04 11:25:06 247

原创 鸿蒙应用开发之OpenGL应用和X组件12

如果成功,就会返回非0值,这时候就可以返回整个编译后的着色器对象shader,否则后面就去查找编译出错的原因。这段代码把上面的x组件的ID转换为string串对象,然后调用函数 PluginRender::GetInstance获取渲染对象render ,最后调用渲染对象的函数render->m_eglCore->ChangeColor。这个函数主要传入两个参数,第一个参数type是加载着色器的类型,在这里主要有两种,一种是GL_VERTEX_SHADER,另外一种是GL_FRAGMENT_SHADER;

2024-06-03 10:05:07 261

原创 鸿蒙应用开发之OpenGL应用和X组件11

在这个函数,先设置m_flag标志,这个标志是用来表示是否画四边形,如果为false表示还没有画四边形,这时候点击界面就不会改变颜色。这段代码就可以通过X组件的指针来获取X组件的ID字符串,把它保存在变量idStr,这样后面就可以通过ID串来找到对应的渲染对象。这段代码从环境变量里获取X组件的指针,保存在exportInstance里,后面会通过X组件指针来操作X组件。要显示四边形,先要构造一个四边形的顶点数组。在上面这段代码里,先进行日志输出,然后进行参数判断,如果参数不正确就返回出错。

2024-05-31 09:04:03 793 1

原创 鸿蒙应用开发之OpenGL应用和X组件10

ExecuteDraw的作用是设置要显示图形的顶点坐标,以及显示的颜色,并进行绘制。这个函数输入几个参数,第一个参数position是用来表明是哪一个索引输入位置,是从函数glGetAttribLocation(m_program, POSITION_NAME)里获取的返回值,其实就是"a_position"的位置,也就是顶点坐标的输入索引;在这里使用这行代码glVertexAttrib4fv(1, color)来设置所有顶点的颜色值,这里指定的索引号为1,也就是GLSL程序里的位置1的颜色索引。

2024-05-30 09:57:24 144

原创 鸿蒙应用开发之OpenGL应用和X组件9

着色器程序对象相当于着色器对象的容器,和任何OpenGL管理的对象一样,在使用着色器程序对象之前,需要通过glCreateProgram接口来创建出一个着色器程序对象。这段代码就是对前面进行链接的程序进行判断是否出错,如果连接成功就可以返回当前的程序进行使用,当前程序是保存在变量program里。这段代码调用glAttachShader进行关联到着色器管理对象,这样顶点着色器和片段着色器就放到管理对象里面,最后调用glLinkProgram来进行连接,才能生成GPU执行的二进制程序。

2024-05-29 09:53:17 184

原创 鸿蒙应用开发之OpenGL应用和X组件8

layout(location = 0),叫做布局限定符,目的是为了方便给变量提供数据,layout()的还有其他的选项,在这里location相当于设定了变量在着色器程序中的访问位置。还需要注意的是,变量名不能以 gl_ 作为前缀,这个是 GLSL 保留的前缀,用于 GLSL 的内部变量。gl_Position vec4 输出属性,变换后的顶点位置,用于后面的裁剪等操作,所有的顶点着色器都必须写这个值。gl_MultiTexColor vec4 输入属性,表示的是顶点的第n个纹理的坐标。

2024-05-28 10:11:25 191

原创 鸿蒙应用开发之OpenGL应用和X组件7

在前面介绍了X组件调用函数来初始化,初始化之后,就需要调用EGL函数来初始化OpenGL的环境,才能使用OpenGL函数来绘制图形。调用 EGLboolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor),该函数会进行一些内部初始化工作,并传回EGL版本号(major.minor)。保存窗口的宽度和高度,以便后面使用。这段代码开始进行初始化EGL,主要是调用eglInitialize函数,然后获取OpenGL的版本号。

2024-05-27 12:12:03 178

原创 鸿蒙应用开发之OpenGL应用和X组件6

接着重要的功能,就是设置X组件回调函数对象m_callback,它的4个调函数指针,都设置好之后,就可以给X组件进行处理了。前面已经分析怎么样注册X组件的回调函数,然后这些回调函数就可以在X组件合适的时机进行回调,就可以让C++的代码在合适的时间做合适的事情。在这段代码,先从容器里查找是否在存在这个ID的X组件插件,如果没有就会创建一个PluginRender对象,这个对象负责注册回调对象维护,并且管理显示图像的对象。在这个回调函数里,传入两个参数,第一个参数component是一个X组件的指针;

2024-05-24 12:24:12 385

原创 鸿蒙应用开发之OpenGL应用和X组件5

这段代码就通过NAPI的函数napi_get_named_property获取X组件的通用指针,它定义名称为OH_NATIVE_XCOMPONENT_OBJ,这是X组件在C++端的名称。这段代码就是使用获得的X组件的指针,然后通过函数OH_NativeXComponent_GetXComponentId来获取X组件的ID,这个ID保存在idStr数组里,给后面使用。因此,我们需要注册C++层的回调函数OnSurfaceCreated,这样当X组件创建成功之后调用我们在C++里的代码。

2024-05-22 11:59:36 182

原创 鸿蒙应用开发之OpenGL应用和X组件4

接着就是做主要的事情,映射库的导出方法getContext,这是在ArkTS里看到的方法,在C++里实际上是函数PluginManager::GetContext,这个函数也是一个静态的全局函数,可以任何地方调用,并且这个函数里的访问变量也是全局的。这行代码干的活比较多,首先要拿到X组件在C++里的指针,然后绑定这个X组件和ID关系,并且注册X组件的回调函数,这样才能根据X组件的生命周期来处理界面,最后还需要导出X组件交互函数,以便用户在X组件点击时触发C++层的代码运行。接着查找GLES库。

2024-05-21 10:39:18 162

原创 鸿蒙应用开发之OpenGL应用和X组件3

这些函数都是根据APP生命周期来调用库里的函数,这样库里的函数就可以根据这些函数来安排不同的代码执行了,在这个例子里基本上就是打印一个日志输出,没有什么实质内容。前面已经分析应用生命周期和页面生命周期,所以我们需要在OpenGL开发的库里区分这两个状态,以便在不同的状态下导出不同的函数给TS侧使用。然后返回一个任何类型的对象。上面页面的生命周期的调用顺序流程图,根据流程图,就可以在将要显示的函数加载资源文件,以便在显示出来时就能画到界面上。这样在C++开发的代码库里,就可以根据这些函数来执行需要的代码。

2024-05-20 11:49:01 176

原创 鸿蒙应用开发之OpenGL应用和X组件2

紧跟着下来onLoad方法设置加载XComponent组件成功之后获取这个组件对应的对象,保存在变量this.xComponentContext,这样后面就可以调用它为更新X组件绘制的内容,达到交互的目的。在这里要注意的是显示文本串是从资源里加载,并且资源里有中英资源,可以根据系统的语言来自动切换不同的语言显示的。在X组件里又设置了这个库的名称,那么在加载X组件时,就会自动要求系统加载这个库,当这个库加载完成之后,就会调用。从上面可知,应用生命周期是大于页面生命周期的,所以需要区分所处状态。

2024-05-20 10:15:43 227

原创 鸿蒙应用开发之OpenGL应用和X组件1

前面学习调用C++开发的代码库,这样可以加入C++语言来开发鸿蒙应用,加快对一些要求运算速度比较高的场合,也提高对旧的项目移植性。前面的C++语言开发的应用,只是简单的调用功能计算,并没有C++代码来操作界面的要求,并且没有使用复杂的C++的功能,这里不仅要在C++里输出图形到界面,并且还是采用OpenGL来开发,OpenGL就是一个非常复杂的库,以及不同的编程习惯。从上图我们就可以看到整个软件的基本组成,与前面学习的C++开发代码库是一样的,只是不同的文件,以及增加X组件的应用。

2024-05-17 12:12:46 820 1

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

深度强化学习论文

DQN的论文

2017-03-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

手写识别的训练数据

MNIST训练数据

2017-03-10

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

duilib界面库20161017

duilib 界面库

2016-10-17

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

C#实现简单protobuf学习的例子

C#实现简单protobuf学习的例子, 可以快速地开发protobuf的功能,这样快速地从一个例子来学习。

2024-10-02

开源鸿蒙4.0不能进入桌面的补丁

系统启动后进入不到桌面 当前系统有 bug,当出现此种问题时,需要执行 killall com.ohos.launcher。 里面的hap文件替换applications\standard\hap\下的同名文件。 目录 oh/applications/standard/hap

2024-03-17

开源鸿蒙 4.0 RK3566开发板配置

开源鸿蒙 4.0 RK3566开发板配置 https://mysoft.blog.csdn.net/article/details/136779805

2024-03-17

使用WeifenLuo.WinFormsUI.Docking的简单例子

使用WeifenLuo.WinFormsUI.Docking的简单例子,演示了简单地使用这个窗口布局库。

2021-12-10

hui_test_form.rar

H-ui.admin_v3.1.3.1的学习和测试例子,前端代码的经典。

2021-08-17

python_example.rar

pybind11的安装和编译的例子,可以快速地生成安装包。

2021-06-24

Mysql_20210615_1.rar

演示访问Mysql库的C++类库QTL

2021-06-15

TestSel1.rar

爬虫日记(28):scrapy使用中间件调用浏览器 相关代码

2021-03-29

ItemDemo_ua.rar

爬虫日记(25):Scrapy 中设置随机 User-Agent 二 的配套代码

2021-03-26

爬虫日记 Imgfn1.rar

爬虫日记(23):用scrapy快速地爬取蜂鸟网图片 相关的项目代码

2021-03-24

ImgDemo1.rar

爬虫日记(22):最简单地抓取图片,仅5行代码 相关配套代码。

2021-03-23

ItemDemo3.rar

爬虫日记(21):使用Pipeline模块写入文件二 的配套代码。

2021-03-23

ItemDemo2.rar

爬虫日记(20):使用Pipeline模块写入文件 的例子

2021-03-22

ItemDemo.rar

实例使用Item对象,适用初学者,《爬虫日记》配套源码。

2021-03-21

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

空空如也

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

TA关注的人

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