自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JamesWu9527的博客

怕什么前途未知,进一寸有进一寸的欢喜

  • 博客(77)
  • 收藏
  • 关注

原创 在nim_duilib中使用cef控件知识点

这里补充一点,关于cef控件调用原生的JS函数,看了下 cef_control_base.h 这个头文件,发现关于调用JS的方式 这里只是描述直接 调用一个前端注册好的函数,那么调用普通的JS函数该如何实现,这是这篇文章的主要重点;参照:https://www.cnblogs.com/chechen/p/6138167.html根据这篇博客所描述C++调用JS函数相对简单多了,因为CEF有接口可以直接使用CefFrame::ExecuteJavaScript,看看注释:/// /

2021-08-13 16:46:06 658

原创 nim_duilib中编译将资源打包到exe

顾名思义 就是将xml文件打包 作为资源加载到exe中方法:1、新建一个nim_duilib工程后,新建一个资源文件 也就是rc文件 熟悉VC的同学应该知道怎么操作2、 根据nim_duilib中的base工程可知// Release 模式下使用资源中的压缩包作为资源// 资源被导入到资源列表分类为 THEME,资源名称为 IDR_THEME// 如果资源使用的是本地的 zip 文件而非资源中的 zip 压缩包// 可以使用 OpenResZip 另一个重载函数打开本地的资源压缩

2021-12-15 16:18:38 636 1

原创 编译可用的支持https的libcurl

关键的原材料编译步骤:https://www.cnblogs.com/zzugyl/p/5037152.html下载openssl的以前的版本OpenSSL官方下载 - 码客下载zlib的以前的版本Index of /fossils下载curl的以前的版本curl downloads修复一些使用libcurl库遇到的问题编译静态的 支持https协议的 libcurl 库无法加载问题 - xzh1993 - 博客园//验证编译的libcur

2021-12-15 16:07:41 1891

原创 nim_duilib加libvlc制作简单播放器

关于云信duilib+libvlc制作播放器的注意事项

2021-11-26 14:17:24 1476 10

原创 记录下最近win端项目的几个小知识点

有部分是参照网上给出的例子1. 创建无任务栏图标的应用程序创建无任务栏显示的应用(通过代码删除任务栏图标) 适用于多个窗口的业务场景BOOL xxxxForm::HideTaskBar(HWND hwnd, BOOL bShow){ HRESULT hr; ITaskbarList* pTaskbarList; hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList,

2021-08-06 15:45:21 188

原创 PJSIP初体验

最近研究了下PJSIP这个强大的VOIP开源库,简单的来记录下遇到一些问题和解决思路,最后附上完整的工程代码供参考功能:1.实现用户的注册2.实现收发短信3.实现通话功能踩的坑1.默认的UDP的端口是5060这个需要改变,需要使用代理设置2.发送短信编码格式乱码 需要进行转码3.通话没有声音 是没有添加 媒体改变的回调函数直接放上代码了/*2020年10月14日 10:45:31初始化UA*/#include <pjsua-lib/pjs..

2020-10-14 17:49:07 631

原创 记录一个小项目中运用的知识点

1.在新的VS版本中,会对老的一些函数做安全验证,导致编译报错,解决方案在该文件的最上方 加上#define _CRT_SECURE_NO_WARNINGS2.对于某个应用,不需要弹出黑窗口,而是在后台静默运行修改链接的部分,或者在代码中 添加#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )3.对于互斥量的使用,一个程序只允许在当前的机器上打开一次,不能同时打开两个...

2020-10-12 12:11:58 168

原创 学习QT的小例子_时钟

实现效果:结合QT官方给的例子,加入一个秒针下面附上代码:void AnalogClockWindow::render(QPainter *p){ //三个指针的形状和颜色定义 static const QPoint hourHand[3] = { QPoint(7, 8), QPoint(-7, 8), QPoint(0, -40) }; static const QPoint minuteHand[3]

2020-09-25 16:59:50 249

原创 SOUI的一个动态创建控件的小例子

涉及知识点:获取可用的屏幕个数以及分辨率 SOUI中的线性布局的使用 SOUI中的动态插入xml的方法(也就是动态的创建控件) 对动态创建出来的控件,进行一个点击事件的注册目的:获取屏幕个数,生成对应的按钮,点击对应的按钮,设置窗体到对应的屏幕上;和上一个例子的基础代码一致 这边直接上代码void CMainDlg::OnGetScreenInfo(){ EnumDisplayMonitors(NULL, NULL, &MonitorEnumProc, reinterpre

2020-07-23 18:48:07 586

原创 记录类似窗口自动移动,补齐前面的位置demo

应用场景:类似多个标签窗口并列,一个窗口被移动到另外一个地方去了,后面的则往前补齐的功能效果:实现的点,主要有两个1.使用线性布局:layout="hbox"2.改变窗口的size属性,设置为0,0xml的布局<SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" width="620" height="400" margin="5,5,

2020-07-21 18:25:26 211

原创 python处理wav数据

最近需要将.wav文件中的数据抽离出来 效果是:使用python中的wave模块具体的代码如下:'''2020-6-1从wav文件中剥离出pcm数据将数据转换为十六进制输出wave的操作说明'''import wavefilename = "C:\\Users\\JamesWu\\Desktop\\wave\\female.wav"f = wave.open(filename,'rb')params = f.getparams()print("wav p.

2020-06-12 10:24:08 1067

原创 linux 下的TCP 和IP demo

自己的一个代码仓库https://github.com/JamesWu9527/linux_c_study.git

2020-05-09 12:06:21 276

原创 记录一个bug 将本地时间转换为UTC时间

这里获取时区可以使用函数GetTimeZoneInformation //获取当前系统的时区 TIME_ZONE_INFORMATION tm; GetTimeZoneInformation(&tm); m_TimeZone = tm.Bias/(-60);关于不同时区 对数据操作例如我在东八区,需要将时间转换为UTC的格式那么对应的就需要减去8小时,那么对应的...

2020-04-23 12:09:54 323

原创 C#入门记录10

异常处理直接上代码/*2020年3月7日15:42:33异常处理try...catch语句*/using System;namespace ConsoleApp10{ class Program { static void Main(string[] args) { testError();...

2020-03-12 14:14:23 219

原创 C#入门记录09

面向对象高级编程 接口的概念和声明 接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。接口可由方法、属性、事件和索引器 这4种成员类型任何组合构成 但不能包含字段接口具有以下特征: 1.接口类似于抽象基类:继承接口的任何非抽象类型都必须为实现接口的所有成员 2.不能直接实例化接口 3.接口可以包含事件、索引器、方法和属性...

2020-03-12 14:12:02 188

原创 C#入门记录08

结构和类结构: 在结构声明中,除非字段被声明为const或者static, 否则无法初始化 定义: 结构修饰符 struct 结构名{ } 不支持继承 类的定义:修饰符 class 类名类的修饰符: new : 仅允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员 public: 不限制对该类的访问 p...

2020-03-12 14:10:28 215

原创 C#入门记录07

第八章: 属性和方法 属性具有以下几个特点 1.属性可以向程序中添加元数据 2.程序可以使用反射检查自己的元数据 3.通常使用属性与COM交互方法的分类 1.静态方法 定义方式:public static 类型 函数名 使用方法:类名.方法名 2.非静态方法 定义方式: 是对类给定的某...

2020-03-12 14:07:35 222

原创 C#入门记录06

这一部分主要包括:流程控制语句,数组集合,哈希表直接上代码:/* 2020年3月5日15:41:03 流程控制语句 数组和集合*/using System;using LoopTest;using Array2;using System.Collections; //包含ArrayListusing HaXi;namespace ConsoleAp...

2020-03-12 10:01:18 153

原创 C#入门记录05

这一部分 主要记录 C#中字符 和 字符串的相关操作直接看代码吧,代码比较清晰/*2020-3-5 09:39:13C# 中的字符类型 Char在C#中表示一个Unicode字符 关于字符类型判断的函数 IsLetter 判断是否为字母 IsDigit 判断是否为数字 IsLetterOrDigit 判断是否为数字或字母 IsLow...

2020-03-12 09:56:19 168

原创 C#入门记录04

这一部分主要记录下运算符相关的东西/* 2020年3月4日22:28:49 运算符相关的东西 使用Math来进行相关的数据计算 */using System;namespace ConsoleApp4{ class Program { static void Main(string[] args) { ...

2020-03-12 09:53:24 152

原创 C#入门记录03

先看例子,这个工程记录的是关于(涉及的知识点):静态类,循环,const关键字,定义引用类型,枚举,时间类型/* 2020-3-4 21:37:40 静态类 中的静态成员函数 调用方法 使用静态类名.函数名() 使用console来在窗口输出的内容 Console.WriteLine("输出{0}{1}{2}",参数1,参数2,参数3); *...

2020-03-10 14:04:21 142

原创 C#入门记录02

接下来记录下一些常用的操作,先看代码后面一一解释/* 2020年3月4日11:44:54 学习命名规则和方法 值类型与引用类型的区别 从概念上来看 值类型直接存储其值,而引用类型存储对其值的引用。 */using System;using JamesWuData;using TestData;namespace ConsoleApp2{ class ...

2020-03-10 11:52:33 163

原创 C#入门记录01

因公司有需求需要使用C#进行开发,这里记录下这几天的一些实例代码Step1 从开发环境起(这里是用的VS2019进行的开发工作)如果环境没有C#,打开VS2019 =》【工具】=》【获取工具和功能】Step2 开始第一个程序的创建(先从控制台程序创建)【文件】=》【新建】=》【项目】=》控制台应用(.NET Core) C#然后就会生成一个工程 包含一个cs文件 代码就在这个里...

2020-03-10 11:41:10 132

原创 关于链表的一个小例子

基础版链表的例子回顾下链表的创建 和 遍历/*14点48分链表*/#include <stdio.h>#include <malloc.h>#include <stdlib.h>//定义了一个链表的数据类型struct Node{ int data; struct Node* pNext;};typedef struct ...

2020-02-19 16:56:29 222

原创 关于malloc,结构体的小例子

回顾了一下C语言中的malloc用法和结构体相关的知识点/*10点49分测试malloc动态分配一维数组测试动态内存分配的跨函数调用*/#include <stdio.h>#include <malloc.h>#include <stdlib.h>#include <string.h>int test01(){ in...

2020-02-19 16:54:44 1092

原创 记录一下C语言基础2

春节期间把 郝斌老师的C语言视频教程又过了一遍,回归最初梦开始的地方:学习的链接:https://www.bilibili.com/video/av8074534直接开始补充些容易忽视的知识点:如果想将一个整数 转换为 一个十六进制数据显示在使用print的时候 格式在X前面添加一个# =》 格式为 #X例如 十进制33 转换为 0x21int value = 33;print...

2020-02-19 16:51:35 257

原创 记录下二进制数据的拷贝问题

AA 7F 00 00 04 72 65 65 19 51 5D 5D 61 40 54 5C 67 53 5F 6B 53 70 65 65 54 61 6C 6B 53 70 3C 9F 0D 0A例如有这样一段二进制数据的数据 如果要进行char数组进行数据的备份需要逐个字符去拷贝 因为00在字符串中使用函数strcpy会被截断//strcpy(message.Recvbuffer,...

2019-12-20 15:45:49 640

原创 记录一下TCP的客户端的简单拆包过程

场景:从服务端过来的数据很多,产生了粘包现象;现在根据对应的协议来进行拆包思路:Step1:找到帧头,帧尾的位置Step2:从buffer中取出帧数据,放到消息队列中Step3:循环从buffer里面取数据,注意起始位置的变化 goto Step1循环结束的条件:buffer里面的长度 和 最后找到帧尾的数据相同简单的代码实现:(这段只是针对那种多帧粘包的情况,对于缺包,其余的情...

2019-12-20 15:34:18 544

原创 一个嵌入式项目的小框架设计思路

功能需求:tcp通信,UDP通信,串口通信, 音频数据的编解码用消息队列作为数据交换的中心,根据push进去的不同类型的消息作出处理伪代码如下main{ Step1 初始化信息 初始化所需要的信息,类似socket 登录 账号等信息 Step2 创建消息队列 创建一个消息队列,定义不同的类型,基本设计方案,根...

2019-12-20 15:10:35 650

原创 linux中socket的基本用法——UDP篇

先记录下关于UDP的基础知识点UDP的基础知识点包括的头文件和常用的函数#include <sys/types.h> #include <sys/socket.h>1.socket函数原型 int socket(int domain, int type, int protocol); 功能: 创建一个socket参数...

2019-11-30 12:26:05 579

原创 记录一下裁剪vlc带的plugins

我们都知道VLC是个很强大的播放器,几乎兼容所有的音视频格式,这么强大的根本是有一个编解码库,这个比较全;但是每次开发工程其实也用不到那么多,如果整个plugins文件夹都带上有100多兆,太臃肿了;于是我就想将这个文件裁剪下,变小点;裁剪后的支持:声音,视频,图片的播放文件夹包含:access,audio_filter,audio_mixer,audio_output,codec,vi...

2019-11-16 12:02:11 1136 4

原创 记录一个strlen函数引发的错误

#include <stdio.h>#include <string.h>#include <windows.h>#include "crc16.h"#include "malloc.h"char* testMalloc(){ char strtemp[6] = {'H','e','l','l','o','\0'}; char *str = ...

2019-11-16 11:47:18 449

原创 记录一下C语言的一些基础

1.关键字extern在一个文件中引用另一个文件中定义的变量或者函数2.#ifndef...#define用在头文件中 防止该头文件被重复引用用在文件中 定义固定的变量来执行对应的操作(常用于特定的环境或者调试环境)特殊情况使用3.使用memset malloc 所包含的头文件要使用memset 必须要包含string.h头文件要使用malloc 必须要包含stdli...

2019-11-16 11:22:13 132

原创 Linux基本的操作命令

1.最近在linux下开始编程,记录下常使用的一些命令:touch 指令: 创建一个文件cd 指令:打开某个目录mkdir 指令:创建某个目录cat 指令:打开某个文件(源码或者文本文件)rm 指令:删除某个文件 rm -r 文件名mv 命令:移动某个文件到某个文件夹 mv test.txt test 将test.txt移动到文件夹testsu命令:切换到root权限下unam...

2019-11-16 11:15:20 254

原创 ubuntu配置xshell

参考:https://www.linuxuprising.com/2018/07/how-to-fix-could-not-get-lock.htmlsudo apt install ssh报错:‘Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)’解决方案sudo rm /...

2019-11-01 18:01:25 6327

原创 OpenCV初体验

首先说下编译,现在用CMake工具很方便能生成对应的工程,这里我使用的是OpenCV2.4版本对应的开发环境是VS2019OpenCV的下载地址:https://github.com/opencv/opencv我这边使用的文件路径:E:\OpenCV 包含下载的目录 branches 和 tags 两个文件夹,打开文件夹branches就可以看到稳定版本的2.4和3.4两个版本...

2019-10-24 09:58:53 380

原创 记录下C++11中Thread的使用

2019-10-14 09:27:23C++11中的多线程使用 (Thread的使用)这里记录下 demo出现的一些知识点使用11的标准来构建多线程的应用程序笔记: join:调用该函数会阻塞当前线程。阻塞调用者(caller)所在的线程直至被join的std::thread对象标识的线程执行结束。 detach:将当前线程对象所代表的执行实例与该线程对象分离,使得线程的...

2019-10-16 17:03:57 419

原创 Google地图中关于根据具体坐标定位真实地理位置

这次碰到的需求是:根据IP定位后 显示具体在哪个地方,那么逻辑可以总结为:Step1 根据IP定位得到具体的坐标点Step2 根据坐标点来得到真实的地理位置实现:$.ajax({ type: "post", url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=你的key', ...

2019-10-15 18:56:36 1637

原创 使用Google地图的测距功能

使用google地图API的测距功能 首先需要引入对应的Google地图的库(drawing,geometry,spherical)引入方法在<script src="https://maps.googleapis.com/maps/api/js?language=en&key=你的key&libraries=drawing,places,geometry,spher...

2019-10-12 15:28:40 1869 1

原创 SOUI中SRealWnd的使用

这里做一个VLC的例子(在SOUI中使用VLC来播放一下本地文件和流)Step1 使用向导建立一个工程,将需要包含的VLC文件包含进去Step2 SOUI 界面的一些设置Step3 编写代码 实现对应的功能Step4 查看效果思考:怎么减小VLC的体积 减小plugins的体积?Step1 使用向导建立工程 建立XML文件主窗口<SOUI name="mainWin...

2019-09-26 20:27:15 1620 4

空空如也

空空如也

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

TA关注的人

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