- 博客(40)
- 资源 (28)
- 收藏
- 关注
原创 FFMPEG 合并视频
//重新编码ffmpeg -i 1.mp4 -vcodec h264 -s 1920x1080 -c:a aac -ar 44100 -ab 96k -ac 2 dst.mp4//合并mp4ffmpeg -f concat -safe 0 -i 1.txt -c copy output.mp4
2022-05-29 13:32:00 202
原创 fread fwrite
例子1:读char* 保存char*const char filename[] = "D:\\td_work\\tdvad\\pcm\\new_mp3.mp3"; // 读取的文件FILE* fp = nullptr;fopen_s(&fp,filename, "rb");if (fp != nullptr){ fseek(fp, 0, SEEK_END); long fileSize = ftell(fp); fseek(fp, 0, SEEK_SET); { char* .
2022-01-20 11:51:06 189
原创 HBITMAP转BASE64
std::string base64_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789+/"; std::string base64_encode(const char* bytes_to_encode, unsigned int in_len) { std::string ret; int i = 0; int j = 0; unsigned char char_.
2021-11-10 15:22:03 268
原创 CMAKE
1、生成win32工程cmake .. -G "Visual Studio 16 2019" -A Win32生成win64工程cmake .. -G "Visual Studio 16 2019" -A x64ARMcmake .. -G "Visual Studio 16 2019" -A ARMcmake .. -G "Visual Studio 16 2019" -A ARM64
2021-06-22 18:38:17 92
原创 anaconda中创建虚拟环境
1、用conda创建Python虚拟环境(在conda prompt环境下完成)conda create -n environment_name python=X.X(注:该命令只适用于Windows环境;“environment_name”是要创建的环境名;“python=X.X”是选择的Python版本)2、激活虚拟环境(在conda prompt环境下完成)activate your_env_nameWindows: activate your_env_name(虚拟环境名称)3、
2021-05-15 15:38:16 377
原创 临界区,互斥量,信号量,事件的区别
最早的一篇原文:http://hi.baidu.com/cnrjm/blog/item/5d217e54ff863550564e00b9.html四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。2、互斥量:为协调共同对一个共享资源的单独访问而设计的。3、信号量:为控制一个具有有限数量用户资源而设计。4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Sect...
2021-04-07 14:53:59 83
原创 Duilib 中滚动条自动滚动到底的方法
在使用Duilib开客户端过程中,有些功能是需要操作滚动来配合实现的,例如向List增加一条数据并显示出这条数据、RichEdit增加文字并自动滚动到底部等。List滚动条操作的方法有:LineDown、PageDown、EndDown等,在没有新增数据的时候,以上方法都能满足需求。新增数据以后,需要立即滚动到底部,这几个方法就无能为力了。这是就需要最原始的SetScrollPos函数来操作了,可是很多朋友List新增数据以后调用这个函数发现并没有作用,那是因为数据添加以后,界面还没有布局完成,新增的数
2021-04-07 14:50:27 307
原创 MySQL中order by语句对null字段的排序
默认情况下,MySQL将null算作最小值。如果想要手动指定null的顺序,可以使用: 1.将null强制放在最前: if(isnull(字段名),0,1) asc //asc可以省略 2.将null强制放在最后 if(isnull(字段名),0,1) dsc if(isnull(字段名),1,0) asc //asc可以省略对于这种使用方式的理解: 以if(isnull(字段名),0,1)为例,它的意思是将该字段根...
2021-04-07 14:42:55 276
原创 linux下的.a和.so,对比windows下的lib和dll
两种库window linux.obj .o.lib .a.dll .soLinux下的静态库以.a结尾(Winodws下为.lib) Linux下的动态库以.so 或 .so.y结尾,其中y代表版本号(Windows下为.dll),而且,Linux下的库必须以lib开头,用于系统识别(如:libjpeg.a libsdl.so)静态库必要的目标代码的是在对程序编译的时候被加入到程序中,而运行时...
2021-04-07 14:42:25 249
原创 linux【centos7】 安装YouCompleteMe
一:升级vimrpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpmrpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7yum -y remove vim-minimal vim-common vim-enhanced sudoyum -y --enablerepo=
2021-04-07 14:41:29 136
原创 centos7安装samba(最全教程)
关闭防火墙[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.Removed symlink /etc/systemd/system/basic.target.wants/fir
2021-04-07 14:40:55 2240
原创 CEF-概述和常用功能介绍(GeneralUsage翻译)
1.介绍https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage.md翻译来自:cefutilCEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持。CEF隔离底层Chromium和Blink的复杂代码,并提供一套产品级稳定的API,发布跟
2021-04-07 14:28:52 1008
转载 CEF 自定义用户协议(scheme)实现以二进制流的方式显示图片、视频、音频
转载:https://www.cnblogs.com/sinceret/p/10417941.html转载:https://stackoverflow.com/questions/48811756/registering-custom-backend-scheme-is-not-working-in-cef转载:https://www.twblogs.net/a/5c308e03bd9eee35b3a4d59a/zh-cn转载:http://www.voidcn.com/article/p-ff
2021-04-07 14:28:19 1159
原创 cef中javascript和c++交换二进制数据(arraybuffer)的方法
javascript的arraybuffer如何传到c++?javascript可以通过XMLHttpRequest的Get请求得到arraybuffer类型的数据,也可以通过POST请求,向服务器发送arraybuffer数据。那么利用http请求和cef的custom scheme机制,javascript就可以与本地的c++代码交换arraybuffer数据。注意:javascript运行在render进程,c++的custom scheme的处理器在browser进程。基础知识sche
2021-04-07 14:24:13 730
原创 Duilib 中滚动条自动滚动到底的方法
在使用Duilib开客户端过程中,有些功能是需要操作滚动来配合实现的,例如向List增加一条数据并显示出这条数据、RichEdit增加文字并自动滚动到底部等。List滚动条操作的方法有:LineDown、PageDown、EndDown等,在没有新增数据的时候,以上方法都能满足需求。新增数据以后,需要立即滚动到底部,这几个方法就无能为力了。这是就需要最原始的SetScrollPos函数来操作了,可是很多朋友List新增数据以后调用这个函数发现并没有作用,那是因为数据添加以后,界面还没有布局完成,新增的数
2021-02-27 17:19:34 434
原创 windows 编译openssl
下载opensslhttps://www.openssl.org/source/1:下载mingw64http://www.mingw.org/2:下载msys2 https://www.msys2.org/3: 下载perl :下面两种方式都可以 1):https://www.activestate.com/products/perl/downloads/ 2): msys2里面输入 : p...
2021-02-27 17:16:58 204
原创 golang乱码解决
两种方式import ( "fmt" "github.com/axgle/mahonia" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" "net/http" "os")func main() { resp, err := http.Get("http://qt.gtimg.cn/q=sz000568") if err != nil {
2021-02-02 08:11:09 1450
原创 一次谷歌面试趣事
很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。 我第一家面试的公司叫做gofish.com,据我所知,gofish这家公司如今的情况跟我当时面试时完全的不同。我几乎能打保票的说,当时我在那遇到的那些人
2021-01-27 15:52:42 104
原创 bytes转换 kb mb
char* BytesToSize( float Bytes ) { float tb = 1099511627776; float gb = 1073741824; float mb = 1048576; float kb = 1024; char returnSize[256]; if( Bytes >= tb ) sprintf(returnSize, "%.2f TB", (float)Bytes/tb); .
2021-01-26 14:06:37 2267
原创 c语言 timer
MMRESULT timerId = timeSetEvent(11, 1, (LPTIMECALLBACK)OnTimeFunc, (DWORD)this, TIME_PERIODIC);static void CALLBACK OnTimeFunc(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2){ WaterWaver * pThis = (WaterWaver*)dwUser;//由this指针获得实例的.
2021-01-26 14:05:06 584
原创 KB/S MBPS转换
1KB/S = 1K * 8bit/s = 8bit/s = 8mbps1Mbps = 1024kbps =128kb/s
2021-01-26 14:02:55 3457
原创 tsf切换输入法
#include <windows.h>#include <msctf.h>int _tmain(int argc, _TCHAR* argv[]){ CoInitialize(0); HRESULT hr = S_OK; ITfInputProcessorProfiles *pProfiles; hr = CoCreateInstance( CLSID_TF_InputProcessorProfiles,...
2021-01-26 13:59:16 551 1
原创 IME 消息 函数 常量
IME消息 以下列出IME中用到的消息。WM_IME_CHAR(IME得到了转换结果中的一个字符)WM_IME_COMPOSITION(IME根据用户击键的情况更改了按键组合状态)WM_IME_COMPOSITIONFULL(IME检测到按键组合窗口的区域无法继续扩展)WM_IME_CONTROL(由应用程序直接向IME发出控制请求)WM_IME_ENDCOMPOSITION(IME完成了对用户击键情况的组合)WM_IME_KEYDOWN(检测到“键盘上的某键被按下”的动作,同时在消息队列中
2021-01-26 13:58:46 437
原创 Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)
首先感谢:http://blog.csdn.net/shuilan0066/article/details/6884483输入法 编程分析http://blog.csdn.net/mspinyin/article/details/6141599输入法的注册、安装和卸载http://www.setoutsoft.cn/Html/?256.html浅谈输入法编程http://wenku.baidu.com/view/3d179422bcd126fff7050b9d.html输入法漫谈这些文章作者的无私奉献。.
2021-01-26 13:58:02 1040
原创 Win32多语言IME开发概述
一、概述从Windows 95和Windows NT 4.0 开始,输入法编辑器(IMEs)是作为一个动态连接库(DLL)来提供的。与Windows 3.1远东版本相比,每个运行的IME相当于多语言键盘布局的一种。与Windows 3.1相比,Win32多语言输入法管理器(IMM)和输入法编辑器(IME)构架具有下列优势:●运行时相当于多语言环境的一个组件;●为每一个应用程序任务提供多样化的输入上下文;●每个应用程序线程保持一个活动的IME;●为应用程序消息循环提供信息(不能改变消息..
2021-01-26 13:55:34 1358
原创 Unbuntu 安装Protobuf
下载依赖sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y下载protobuf:git clone https://github.com/protocolbuffers/protobuf.git //解压unzip protobuf.zip //安装cd protobuf./autogen.sh./configuremakemake installsudo ld
2021-01-26 13:46:52 76
原创 sqlite 日期格式与排序问题
1、sqlite没有日期格式,一般做为字符串处理如果需要日期计算,使用日期时间函数日期时间字段为字符串,必须保证存储字段时,其格式为:YYYY-MM-DD HH:MM:SS比如这种:2019-12-30 12:10:042、日期时间函数date(timestring, modifier, modifier, …) 以 YYYY-MM-DD 格式返回日期。time(timestring, modifier, modifier, …) 以 HH:MM:SS 格式返回时间。datetime(t
2021-01-26 13:40:59 2274 1
转载 常用 Git 命令清单
作者:阮一峰日期:2015年12月 9日我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程...
2020-02-12 09:19:34 65
原创 怎样用Sourceinsight编辑/浏览整个工程的代码
第一:如何使用第一步:在IAR工程的主目录建立一个文件夹,用来存放Sourceinsight工程,我建立一个名称为SI的文件夹。第二步:打开Sourceinsight软件,选择Project–》New Project,填上工程名称,此处我默认没改,位置将保存在我新建的SI文件夹中,最后点击ok。第三步:其他不用修改,只需要修改工程源目录即可,系统默认是我们刚才建立存放Sourc...
2019-12-25 13:38:59 941
转载 GitHub开源的10个超棒后台管理面板
项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、样式丰富的后台管控面板,深夜学习简书上一位大神的博文,共总结10项优秀后台管理控制面板(9个GitHub项目,1个在线UI 框架)。1、AdminLTE简介:非常流行的基于 Bootstrap 3.x 的免费的后台 UI 框架。网站:https://github.com/ColorlibHQ/...
2019-12-24 14:53:08 125
原创 输入法
http://www.cnblogs.com/freedomshe/archive/2012/11/30/ime_learning.html1、浅谈输入法编程——上面有一个简单的框架(imesample.rar )http://www.codes63.net/showtopic-208.aspx在imesample.h的#include "imm.h"前加入 #
2016-08-26 14:32:28 499
转载 C++ 模板基础谈
1. 什么是模板模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。我们知道,C++ 是一种“强类型”的语言,也就是说一个变量,编译器必须确切的知道它的类型,而模板就是构建在这个强类型语言基础上的泛型系统。2. 模板的语法模板函数template{函数定义}模板类templateclass
2011-11-30 16:38:58 187
转载 DirectUI的初步分析
最近由于项目的需要学习了一下DirectUI方面的东西,主要借鉴的是一个国外程序员写的代码(见引用一),看了后发现它更多的是探讨一种实现的可能性和思路,和实际应用还是有距离的,不过其实现还是很有意思的。在写此小结的时候又发现国内一个程序员将这个代码部分移植到WINCE下的代码(见引用二),因为平台的差异性要完全开发一个WINCE下的实际代码还是需要时间的。由于本人GUI开发做得少,工作中有关这
2011-11-30 15:28:17 304
转载 开发与研发(上)
开发与研发(上)01月 5th, 2011 — Dreamer 按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱,到后来修改的时候每次都要考虑好久才能下笔,所以决定拆成两部分来发,以便阅读。这篇写得我心力交瘁,质量不算好,凑合着看吧。同样是写程序,不同的岗位工作内容不一样,对程序质量以及工程师的要求也不一样。程序开发大概可以划分成两类:开发和研发,相应也就有开发工程师和研发工程师。很多人觉
2011-01-11 13:42:00 242
Prentice.Oracle.DBA.SQL.Quick.Reference.eBook-LiB
2010-06-06
变速齿轮 0.46 变速齿轮是一个神奇的改变游戏速度的程序
2010-06-06
PHP入门速成php入门资料,连数据库,分页都有介绍
2010-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人