自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (1)
  • 收藏
  • 关注

原创 在typescript浏览器端中调用C++编写的函数,WebAssembly传递指针类型的参数,以及处理指针类型的返回值。

最后是返回一个C++结构体指针,在TypeScript中通过DataView来获取内存中的地址偏移量来取得结构体中的数据,因为em++编译器是以32位来编译.cpp文件的,所以指针占4个字节。DataResult结构体第一个属性dArr是一个指针,那么就是地址偏移量0,然后以32位无符号整型取得dArr指针,通过这个指针去读取wasm中memoryBuffer中的数据,就可以得到dArr属性对应的值了。同理,通过地址偏移量+4来得到propCount属性,以32位整数读取数据即可。

2024-09-17 00:14:16 512

原创 typescript如何调用自己编写的C++函数

在https://blog.csdn.net/Xeon_CC/article/details/139957190这篇文章已经直到,js文件以及对应的wasm文件如何生成了。我们把生成好的文件放入到typescript项目的src/lib/wasm目录下。那么typescript怎样才能调用C++编写的函数呢?然后尝试调用useModule函数即可。这是定义的C++函数。

2024-08-30 13:36:29 362

原创 第8讲:制作树枝开花朵的动画

树枝开花小游戏

2024-07-25 15:07:53 101

原创 第7讲:以Point、ObservablePoint为例,添加部分功能。

其中,ObservablePoint是使用很频繁的类,Point的位置一旦发生改变,触发回调changePointCallback。ObservablePoint也是IPoint的实现,所以新增的方法与Point一样。其中,Point.prototype.add = function(other: IPoint){setInterval是常用的定时器,每隔500毫秒执行一次函数,执行超过一定次数,结束定时器。在src/lib中,创建PointUtils.ts。就是往Point类中自己添加了add方法。

2024-07-15 17:08:05 212

原创 第6讲:增修别人的函数库,以pixi.js库中的Rectangle模块为例。

修改index.html文件,修改引用为AddChangeFunction.ts文件。在src目录下新建一个AddChangFunction.ts。在src/lib目录下新建一个RecUtils.ts文件。

2024-07-14 17:31:04 190

原创 第5讲:建立自己的C函数库,js调用自己写的C/C++函数,并包含依赖C/C++第三方静态库。

在javascript中,Array有很多内置的功能,比如Array.map,Array.filter,Array.find等等,能用内置的功能就用内置的功能,最好不要自己实现一套,因为底层调用的可能压根就不是js语言本身,底层的实现可能由C/C++实现的。如果我们要做的一些功能,需要高性能密集计算,但是JavaScript内置函数无法满足我们要求的时候,这时候我们就要自己用C/C++编写一个程序,然后封装成.a静态库给JavaScript调用了。我这里导出了所有的函数,函数前面要加上下划线。

2024-06-26 01:28:07 789 1

原创 第4讲:pixi.js绘制舞台、随窗口大小而改变画布大小和舞台位置

然后在index.html中,编辑代码,改成如下代码,现在我们引用CanvasAndStage.ts文件,而不要引用main.ts文件。基于前面写的代码,在gamelets的工程目录下新建一个CanvasAndStage.ts。随着浏览器缩放,黑色的画布会跟着缩放,容纳整个浏览器窗口。

2024-06-25 13:40:02 370

原创 第3讲:关于Pixi的Text、Container、Sprite、Graphics组件功能作用

Container是一个容器,如果多个组件放在一个容器中,如果容器的属性发生改变则,容器里面的子控件的属性都会发生改变。Graphics组件是用来绘制图形用的,比如线条,圆形,矩形等等。下部分各种组件基于这个公用代码直接往下添加代码即可。Sprite组件非常简单,就是显示一张图片。Text组件,非常简单,就是绘制文字。

2024-06-18 00:21:28 267

原创 第2讲:pixi.js 绘制HelloWorld

基于第0讲和第1讲,我们增添了vite.config.ts文件。并配置了其他的http端口。然后在package.json中点击Debug,启动了localhost:7777。删除 conter.ts、typescript.svg。此时,我们删除掉没用的东西。

2024-06-17 21:10:32 373 2

原创 第1讲:创建vite工程,使用框架为Vanilla时,语言是typescript,修改http端口的方法

直接在项目根目录创建 vite.config.ts文件。

2024-06-16 16:58:50 253

原创 第0讲:创建一个Vite工程

接下来选择框架为: Vanilla (表示不使用框架,原生JS)然后输入项目名,这里起名为gamelets(很多小游戏的意思)选择语言为:TypeScript。

2024-06-16 13:47:32 209

原创 JS调用C语言写的代码,cmake项目生成的wasm文件

那么这时候呢,libutil.wasm 也会被重新覆盖生成,并且会得到一个libutil.js。这个命令一定要执行,才可以生成正确的libutil.asm,我们这里不使用libutil.js,仅使用libutil.wasm即可。如果找不到emcc命令,请搜索emcc.bat文件在哪里,并配置Emscripten里面的emcc.bat文件所在目录的环境变量。如下图,这个libutil.wasm文件确实变了,这是一个有效的wasm文件。这意味着我会用node main.js命令来执行这个main.js代码。

2024-04-20 16:20:59 572

原创 在debian中vcpkg install gdal报错:error: building libpq:x64-linux failed with: BUILD_FAILED

最主要原因是autoconf包没有被安装到系统中。其他依赖顺便安装一下。

2024-01-23 12:00:01 786

原创 C++线程池实现例子

【代码】C++线程池实现例子。

2024-01-18 16:40:12 552

原创 Elasticsearch8 创建新用户PUT请求方式

【代码】Elasticsearch8 创建新用户PUT请求方式。

2024-01-16 14:04:50 697

原创 用虚函数的虚表调用成员函数

直接操作虚函数表是一种高度依赖于特定编译器实现的行为,它不是标准C++的一部分,因此可能在不同的编译器或平台上表现不一致,也可能引入安全和稳定性风险。在实际的应用开发中应该避免这种做法。不推荐在生产环境中写这种代码装B,行为危险,装B后果自负。

2023-11-27 18:02:51 503

原创 CentOS7搭建smb服务器

然后会提示你输入密码,输入密码:yourpassword。

2023-11-25 18:42:22 944

原创 CentOS7开机自动启动自定义脚本

Type可以为forking或者simple。

2023-11-25 16:57:26 681

原创 搭建SRS视频服务器

如果ffmpeg的路径不在/usr/local/bin/ffmpeg , 就要映射路径。在我这里,我已经把http_server 的端口改成了6930, 而不是默认的8080。注意,必须是1985端口。有时候可能默认显示别的端口。进入到srs/trunk 目录下,并执行编译命令。连接SRS就可以看到主机信息和摄像头实时动态。进入到浏览器即可访问。

2023-11-24 21:47:04 1133

原创 CentOS7 手动添加yum清华大学源

【代码】CentOS7 手动添加yum清华大学源。

2023-11-24 19:12:36 900

原创 在工业生产环境下,服务器没有互联网,如何通过自己的电脑上互联网?

CentOS

2023-11-24 19:10:05 316

原创 在linux环境下cmake中配置Qt6报错:but it set Qt6_FOUND to FALSE so package “Qt6“ is considered to be NOT FOUN

sudo apt-get install build-essential libgl1-mesa-dev

2023-10-11 10:29:50 900 2

原创 安装QT的时候,更换镜像源

在启动Qt的网络安装器的exe程序的时候,加上一些配置选项即可。

2023-08-15 15:05:31 810

原创 ARM架构银河麒麟docker,源码编译安装GDAL

进入到GDAL源码目录并执行。下载GDAL3.4.3版本。以6个cpu核心编译源码。docker中安装依赖。去官网下载GDAL源码。

2023-08-09 14:02:07 1331

原创 给银河麒麟v10添加yum源

如果没有yum.repos.d文件夹,手动创建一个。最后,就可以yum install xxx 了。

2023-08-07 11:24:53 5720

原创 虚幻引擎5关闭实时编译器

进入菜单编辑->编辑器偏好设置->通用->实时代码编写->常规->启用实施代码编写->把钩子去掉。

2023-08-05 10:53:06 577

原创 flask服务生成证书文件,采用https访问,开启用户密码验证

开启https,使用第一步中生成的2个文件,配置flask服务器。

2023-08-04 14:21:41 1263

原创 elasticsearch 配置用户名和密码

无密码的其他配置项在:https://blog.csdn.net/Xeon_CC/article/details/132064295。

2023-08-02 23:38:45 6768 1

原创 windows平台elasticsearch8.9配置文件,无密码

【代码】windows平台elasticsearch8.9配置文件,无密码。

2023-08-02 15:47:16 464

原创 C语言获取13位时间戳以及格式化时间戳

定义time_util.h头文件。

2023-07-27 16:00:57 961

原创 Elasticsearch不规则多边形区域查询

其中self.es = Elasticsearch(hosts=self.host.split(‘,’), port=self.port)中,hosts参数接收的是一个字符串列表,例如[‘192.168.16.96’,‘192.168.16.97’,‘192.168.16.98’]等,端口是9200。其中变量coords是一个三维list列表,用来表示一个多边形顶点坐标,如果你的多边形没有挖孔,那么第一维只有一个元素,否则有多个。来检查location字段是不是geo_shape类型。

2023-06-28 08:58:43 798

原创 PostgreSQL创建geometry类型的字段,而不是st_geometry类型的字段

笔记

2023-01-04 15:31:58 940 1

转载 Python包装器用于缓存

包装器

2023-01-04 09:25:48 211

原创 Visual Studio C++将cpp文件打包成lib库和dll库

C++

2022-12-05 22:47:23 197

原创 linux下使用future的时候报错undefined reference to `pthread_create‘

C++问题

2022-11-22 00:22:50 313

原创 C++几种读取文件的方式

C++

2022-11-18 12:02:07 695

原创 使用Visual Studio 中的Cmake项目配置Qt+libtorch+cudnn

qt

2022-10-03 03:30:28 935

转载 Linux设置交换空间

linux

2022-09-18 02:08:21 273

原创 Ubuntu下安装libtorch GPU版并测试demo

libtorch

2022-09-18 01:15:54 1609 1

原创 Visual Studio 2019 + LibTorch + CUDA11.6 环境配置

C++

2022-08-28 17:36:15 2242

空空如也

空空如也

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

TA关注的人

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