自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

永远的魔术1号

路上发生的事情

  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 Qt单一应用实例判断

原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。

2023-10-08 22:53:19 924

原创 使用bash脚本编译Qt工程

最近在搭建Qt工程的编译服务器,需要通过shell脚本执行工程的编译过程,写在这里,总结最近的工作。

2023-09-25 22:52:05 208

原创 【LVGL】LVGL 子控件显示

如果需要chlid控件不显示超出parent的部分,设置以下属性:

2023-08-18 09:33:48 325

原创 MinGW编译运行报错RTTI symbol not found for class ‘XXX‘

MinGW编译运行报错RTTI symbol not found for class 'XXX'

2023-08-18 09:29:45 304

原创 JerryScript 编译

JerryScript

2022-10-14 23:33:10 663

原创 记一次Qt操作MySQL和QtFtp

记一次Qt操作MySQL和QtFtp

2022-10-14 23:31:06 486 1

原创 给ImageView做圆角处理

Android 圆角ImageView

2022-08-23 15:09:36 2693

原创 获取手机位置信息

Android 获取手机位置信息

2022-08-23 14:41:22 2294

原创 Qt维护工具添加资料档案库

Qt维护工具资料档案库设置方法

2022-08-23 10:50:28 5416

原创 【LVGL】roller选项列表问题

lv_roller_t

2022-07-05 22:40:43 2589 6

原创 【LVGL】设置对象样式 - 渐变背景色

LVGL样式

2022-07-04 23:19:56 8639 1

原创 SM2 签名算法秘钥在线生成

国密SM2

2022-03-13 09:18:31 7630

原创 Smart Snippets 屏蔽wchar_t告警

最近在做微信离线支付功能,工程中添加了微信提供的libwxcodepay.a文件后,编译出现告警,告警信息如截图中所示: 原因可能是因为gcc默认使用 4字节大小的wchar_t,而微信的库文件中设置了2字节大小,导致产生此告警。 经过一番查找,发现可通过设置-fshort-wchar,改变工程中wchar_t的大小,但这个可能会引起其他不可预知的问题,所以还是考虑暂时将告警屏蔽。--no-wchar-size-warning可以屏...

2021-11-15 22:45:57 341

原创 十一、JS调用C++函数附带外部数据

有时候我们需要对不同的js函数名称设置相同的回调函数,如何实现呢?场景:需要通过注入C++函数为js提供分级日志函数。重点函数: static Local<FunctionTemplate> New( Isolate* isolate, FunctionCallback callback = nullptr, Local<Value> data = Local<Value>(), Local<Sig...

2021-09-02 23:04:52 211

原创 十四、再次使用msvc编译v8静态库

经验证,可通过以下命令编译出 v8_monolith.lib release版本且可以使用,但试图编译debug版本时依旧报错,没有解决。python .\tools\dev\v8gen.py x64.release -- v8_monolithic=true v8_use_external_startup_data=false use_custom_libcxx=false is_component_build=false treat_warnings_as_errors=false...

2021-08-21 23:52:03 546

原创 十三、v8 platform里thread pool使用

在v8源码 default-platform.h 中,DefaultPlatform类中有一个私有对象worker_threads_task_runner_,是一个线程池对象,这里研究一下如何使用这个对象执行多个任务。首先,参照hello-world.cc示例中的代码,因为isolate的需要和脚本执行在同一线程中,所以从isolate创建部分开始直至脚本执行完毕全部封装为一个函数。内容不复杂,直接上源码吧。main.cpp// Copyright 2015 the V...

2021-08-20 00:06:19 250

原创 十二、JS调用C++函数抛出异常及捕捉异常

本文讲述如何利用v8::TryCatch捕捉js代码中发生的异常。首先,声明TryCatch对象。v8::TryCatch trycatch( isolate );然后,定义抛出异常的函数:void ThrowException( const v8::FunctionCallbackInfo<v8::Value>& info ) { v8::Isolate* isolate = info.GetIsolate(); v8::Handle...

2021-08-18 23:41:37 239

原创 十、JS调用C++函数

参考《Getting started with embedding V8 · V8》Templates首先,C++函数,这里以文档中的 LogCallback 为例:void LogCallback( const v8::FunctionCallbackInfo<v8::Value>& info ) { if ( info.Length() < 1 ) return; v8::Isolate* isolate = info.GetIs...

2021-08-18 22:10:36 2608

原创 九、JS使用C++对象及其属性方法

参考《Getting started with embedding V8 · V8》Accessing dynamic variables首先,创建Point类#pragma onceclass Point{public: Point( int x, int y ) : x_( x ), y_( y ) { } int x_, y_; int Add() { return x_ + y_; }};定义访问x_,y_的方法:// ge...

2021-08-17 23:33:40 190

原创 八、JS使用C++类及其方法

参考《Getting started with embedding V8 · V8》Accessing dynamic variables首先,创建Point类class Point{public: Point( int x, int y ) : x_( x ), y_( y ) { } int x_, y_;};其次,编写Point类的创建函数:// point constructorvoid PointConstructor( const ...

2021-08-16 23:16:51 264

原创 七、嵌入v8引擎访问全局变量

参考《Getting started with embedding V8 · V8》Accessing static global variables首先,封装对全局变量的Set和Get方法:void GlobalValueGetter( Local<String> property, const PropertyCallbackInfo<Value>& info ) { info.GetReturnValue().Set( gValue...

2021-07-27 22:51:49 318 1

原创 六、v8引擎执行JS文件

这个环节比较简单,直接上代码了main.cpp// Copyright 2015 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include <stdio.h>#include <stdlib.h>#...

2021-07-27 22:05:18 571

原创 五、再次执行hello-world.cc

继续执行示例《二、执行v8引擎示例代码_永远的魔术1号-CSDN博客》添加 include到项目“附加包含目录”; 添加项目“附加库目录”; 添加 node\Debug\lib下所有库文件到项目“附加依赖项”。这里是库文件的文件名列表:brotli.libcares.libhistogram.libicudata.libicui18n.libicutools.libicuucx.liblibnode.liblibuv.libllhttp...

2021-07-27 21:40:59 156

原创 四、Node.js中的v8

由于之前编译v8默认使用clang.exe,导致编译出的库文件函数都带有__1命名空间,与cl编译的程序无法配合。尝试使用msvc的cl.exe编译(编译选项is_clang=false),却又在Link v8的时候报出了一堆乱码的错误,也不知道如何解决。所以换个思路,尝试编译Node.js,从编译出的文件中得到v8相关的库文件。一、Node.js简介Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。二、下载源码 ...

2021-07-26 23:06:35 583 1

原创 LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const QsciScintilla::staticMetaObject”

今天在使用QsciScintilla的派生类进行信号槽绑定的时候,遇到了LNK2001:无法解析的外部符号问题,可是我的派生类里Q_OBJECT宏已经加上了,为什么还会报这个错误呢?error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const QsciScintilla::staticMetaObject" (?staticMetaObject@QsciScintilla@@2UQMetaObject@@B)...

2021-07-10 23:27:43 2233 3

原创 三、VS2019编译v8引擎

接着上一篇实践发现的问题《C++使用v8引擎执行JavaScript_永远的魔术1号-CSDN博客》,我在网上查找了很多资料,原因都是说,由于v8默认使用了clang编译,而clang使用的是libc++作为C++标准库,而demo使用的环境则是使用libstdc++作为标准库,两种标准库不同,存在inline namespace __1的问题。 然后又看到网上又很多提到可以使用gn命令编译,在命令中增加参数控制不使用clang,于是我尝试着编译了一下。先说一下结果,编译过...

2021-07-01 22:05:19 340 3

原创 二、执行v8引擎示例代码

文章里使用v8源代码的目录下的示例代码v8\samples\hello-world.cc// Copyright 2015 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include <stdio.h>#inclu...

2021-06-27 23:55:34 772 2

原创 一、编译v8引擎

官方网站What is V8?V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++. It is used in Chrome and in Node.js, among others.1. 源码仓库V8’s Git repository is located athttps://chromium.googlesource....

2021-06-27 14:25:19 392

原创 Scintilla

1. Scintilla简介官方网站A free source code editing component for Win32, GTK, and OS XScintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成 (code completion)和调用提示(call tips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。它完全开放源代码...

2021-06-22 22:58:45 283

原创 gRPC C++ windows程序实践(二)

这篇文章主要介绍如何基于gRPC工程编译生成的文件进行实际应用开发,代码参照 grpc\examples\cpp\helloworld 目录下的示例代码。1. 编写proto文件创建example.proto文件如下图:syntax = "proto3";package testpack;// The greeting service definition.service Greeter { // Sends a greeting rpc Say (Request) ret

2021-04-23 23:43:55 1059 3

原创 gRPC C++ windows程序实践(一)

在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。gRPC1. 下载代码repo:https://github.com/grpc/grpc.gitgit clone https://

2021-04-21 22:36:01 765 1

原创 Golang空结构体

Golang中空结构体的地址如何分配,先看看测试结果:package mainimport "fmt"func main() { Test()}func Test() { e1 := Empty{} e2 := Empty{} e3 := Empty{} fmt.Printf("e1 : %p\ne2 : %p\ne3 : %p", &e1, &e2, &e3)}type Empty struct {}输出结果:PS E:\devel

2021-03-31 14:08:16 544

原创 Golang iota踩坑

iota是Golang中的一个特殊变量,通常在定义“枚举”时使用。1. 单独声明每个常量,每遇到const时iota为0package mainimport "fmt"const a = iotaconst b = iotafunc main() { fmt.Printf("a = %d\r\nb = %d", a, b)}输出:a = 0b = 02. iota在const组合中的使用,也就是常用的“枚举”声明中使用,要小心谨慎1)连续使用pack

2020-12-23 23:00:05 737

原创 iris配置https访问

参照《Iris框架中文文档》- HTTP主机配置一节,配置如下:端口号可不限于https默认端口443。例如:_ = app.Run(iris.TLS(":8080", "****.cer", "****.key"))

2020-12-04 23:10:22 1247

原创 ubuntu 解决不定时弹出“热点登录”界面问题

解决办法:编辑 /etc/NetworkManager/NetworkManager.conf 文件加入:[connectivity]uri=interval=0保存后退出service network-manager restart

2020-05-11 09:55:44 3834 6

原创 编译dlv调试工具

git clone https://github.com/go-delve/delve.gitcd delve/cmd/dlvgo build执行完毕后会在当前目录下生成dlv程序

2020-05-06 16:51:09 593

原创 使用GODEBUG分析程序的内存使用情况

用法执行test程序之前添加环境变量GODEBUG='gctrace=1'来跟踪打印垃圾回收器信息设置gctrace=1会使得垃圾回收器在每次回收时汇总所回收内存的大小以及耗时,并将这些内容汇总成单行内容打印到标准错误输出中。$ GODEBUG='gctrace=1' ./test格式gc # @#s #%: #+#+# ms clock, #+#/#/#+# ...

2020-03-31 14:04:17 590

原创 消除QToolButton设置menu时出现的箭头

设置button样式表QToolButton::menu-indicator { image: none;}

2020-02-09 12:38:18 4216

原创 GoLand ToolBar

默认GoLand不显示ToolBar,需要通过设置,显示ToolBar默认状态:View -> Appearance -> 勾选 Toolbar

2019-11-18 09:35:51 672

原创 解决Ubuntu下载软件更新速度慢问题

如下图操作:点击右下角的Close,会提示 软件列表已过期,点 Reload,然后再更新试试

2019-11-01 23:09:33 3591 3

VS2019 编译gRPC C++ x64版本

VS2019 编译gRPC C++ x64版本

2021-04-21

Qt+OpenCV打开电脑摄像头

基于Qt5.5.1、vs2012环境,加上OpenCV3.0.0实现简单的打开摄像头显示视频功能,为初学者初识OpenCV做一入门

2018-07-04

空空如也

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

TA关注的人

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