自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

摔断翅膀的鸟人

心得杂记

  • 博客(119)
  • 资源 (16)
  • 问答 (2)
  • 收藏
  • 关注

原创 svn允许修改提交记录

svn通过修改hook,可允许修改提交记录

2023-03-12 17:31:17 563 2

原创 devenv 批量编译没有反应

devenv批量编译没反应

2022-09-13 18:02:17 319

原创 vim 快捷键汇总

vim 快捷键

2022-08-24 09:23:59 2299

原创 linux 之 curl 命令发送

linux curl

2022-08-19 09:44:31 582

原创 bat 之 特殊字符&转义

curl 字符串报错 no URL specified

2022-07-28 11:02:50 4015

原创 windows curl 之 invalid character ‘\‘‘ looking for beginning of value

windows terminal 执行 curl 报 invalid character '\" looking for beginning of value

2022-07-27 22:43:49 1533 1

原创 win11关闭Hyper-V

win11关闭Hyper-V

2022-07-13 09:34:14 8186

原创 解决 win11 git svn 图标问题

处理win11系统安装 git svn 不显示小图标的问题

2022-07-12 11:26:33 3018 3

原创 git 强制提交

git add .git commit -m "your comment"git push -u origin master -f

2022-03-22 15:30:37 3292

原创 接入阿里kafka无法查到符号

error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl RdKafka::err2str(enum RdKafka::ErrorCode)" (__imp_?err2str@RdKafka@@YA?AV?$basic_string@DU?$ch

2022-03-08 17:14:30 1798

原创 文本没自动换行

文本没换行

2022-03-02 19:05:56 362

原创 C++ lua_pushnumber 压入长整型问题

C++ lua_pushnumber ULONGLONG 负数

2022-02-23 20:34:35 898

原创 Lua 表随机删除值

同样一个事情,处理流程不同,会造成效率上的极大差异先看一段代码local t = {}function CreateTable() for i=1,2000000 do table.insert(t,i) end --然后再对t进行打乱,前面的博客也有讲述endCreateTable()--每次从t中获取一个随机值并移除,此处直接从t中循环操作1000000次--每次删除第一个数据,效率极低,耗时几十秒!!!!!!!!local time1 = os.time()for i

2022-02-22 19:22:11 219

原创 C++ 别要求子类重写虚函数时调用基类同名函数

别要求子类重写虚函数时调用基类同名函数

2021-12-31 14:27:13 618 2

原创 lua attempt to index field ? a nil

不详细说,看例子local t = {}print(t[2].a) --t[2]本身是nil,所以是nil.alua: /usercode/file.lua:3: attempt to index field '?' (a nil value)stack traceback: /usercode/file.lua:3: in main chunk [C]: in ?

2021-12-18 10:36:54 7243

原创 C++ std::map for 循环效率

写法1:常规迭代遍历for (auto it = m_mapUser.begin(); it != m_mapUser.end(); ++it){ //todo}//评价:很常用的写法,效率也很高写法2:auto遍历for (auto it : m_mapUser){ //todo}//评价:写法简单,效率低,map数据量很小的时候适用,数据量大坚决不能这么写//测试数据10w条记录,遍历一次需要24s,100w条需要270s写法3:auto遍历(改进)for (au

2021-12-07 11:08:08 2930 4

原创 初学 python 基础语法4

类型是对象,变量无类型?a="xyz"# a是变量,没有类型,只是对象的引用;# "xyz"是String类型,也是"xyz"字符串本身有类型;函数def fun(str): print str return strdef fun2(str="abc): # 默认参数 print str return strdef fun3(str, *varparam): # 最后一个变量带 * 则包含表示所有后面的变量 print str for v in varparam: pri

2021-11-23 11:36:46 55

原创 初学 python 基础语法3

外层加引号(repr)/去掉外层引号(eval)s = 'abdcf'print eval('['+','.join([repr(i) for i in s])+']')['a', 'b', 'd', 'c', 'f']序列与字符串互相转换(join)join:字符串序列使用指定字符拼接,被拼接的序列必须是字符串>>> str1='()'>>>> str2=['ab','c','d'] # 可以是列表>>> str1.join(

2021-11-22 19:37:55 507

原创 初学 Python 之 八皇后问题

首先得承认,还没看懂这段代码,先记录下,等看完基础语法,再来看这段代码:#* queen problem with recurisonBOARD_SIZE = 8def under_attack(col, queens): left = right = col for r, c in reversed(queens): #左右有冲突的位置的列号 left, right = left - 1, right + 1 if c in (left, col, ri

2021-11-22 14:53:08 312

原创 初学 python 基础语法2

去除 空格(strip / rstrip / lstrip)strip:去除左右空格,也就是头部和尾部空格都去掉;rstrip:去除右侧空格,也就是尾部;(R:right 右边)lstrip:去除左侧空格,也就是头部;(L:left 左边)#!/usr/bin/env python#coding=utf-8x = ' aaa 'print len(x) # 输出 12print len(x.rstrip()) # 输出 6 因为尾部空格被去除print len(x) # 此

2021-11-21 22:14:41 329

原创 初学 python 与其他语言不同的规则

字符可乘这个挺有意思的,第一次碰到这种用法,字符也可以用乘法,只不过是代表字符重复:#!/usr/bin/env pythonprint('='*5)print("0"*3)print('8899'*4)print("9898"*3)print '''helloworld'''*3'''输出结果:=====0008899889988998899989898989898helloworldhelloworldhelloworld'''...

2021-11-19 09:27:40 426

原创 初学 python 之 一图学基础

2021-11-18 19:30:49 423

原创 初学 python 基础语法

python查看帮助$ python -hpython 标识符1.由 字母,数字,下划线 组成;2.标识符 只能以 字母,下划线 开头,不能以数字开头;3.标识符 区分大小写;4.下划线开头的标识符特殊意义:单下划线(例如 _foo)代表不能直接访问的类属性,需通过接口访问,双下划线(例如:__foo)代表类的私有成员,双下划线开头+双下划线结尾(例如:__foo__)代表python里的特殊方法专用的标识5.同一行可写多条语句,用分号隔开 例如:print(“1”);print(“234”)

2021-11-18 19:27:20 665

原创 C++ 获取自定义模板的对象名称

不解释,看实例正常使用宏定义时,要获取符号名称,是使用#把名称字符串化,但这种方式在模板中不好使,需要更底层提供的运算符操作typeid。template<typename T>class CTest {public: CTest() { sName = typeid(T).name(); } std::string GetName() { return sName; }private: std::string sName;};int main() { C

2021-10-30 23:09:47 791

原创 遍历查找最大最小值

题目很简单,只要会一些变成功底的,都能写出来,比如以下代码//简单示例,不追求绝对的可用//示例1void Find(std::vector<int> aData, int& minValue,int& maxValue){ if(aData.empty()) return; minValue=aData[0]; maxValue=aData[0]; for(size_t i = 0; i<aData.size();++i) { if(minVal

2021-10-13 10:14:46 245

原创 windows 查看 应用异常事件

2021-09-01 16:18:17 138

原创 Go 之 快排

基础思维:以第一个元素为基准,func quickSortPart(vData []int, left, right int) { if left >= right { return } i,j:=left,right key:=vData[left] p:=left for { if i > j { break } for j >= p && vData[j] >= key { j-- } if j &gt

2021-08-28 17:48:17 55

原创 Go 之 冒泡

作为C++开发人员,冒泡算法还是很简单,换个语言,大致还是一样的;还是啰嗦下逻辑思维:假设原数据:[2 1 4 3 5 6 0]以第一个元素为准,找出剩余元素中,比第一个元素小的,交替位置: [0 2 4 3 5 6 1]以第二个元素为准,找出剩余元素中,比第二个元素小的,交替位置:[0 1 4 3 5 6 2]以第三个元素为准,找出剩余元素中,比第三个元素小的,交替位置:[0 1 2 4 5 6 3]以第四个元素为准,找出剩余元素中,比第四个元素小的,交替位置:[0 1 2 3 5 6 4]

2021-08-28 14:50:56 97

原创 C++ 之 # 与 ##

先看实例(示例不追求编译合法性,只表达某些用法含义)class CTest{}void main(){ std::string s1 = #CTest; // s1="CTest" my##CTest; // 结果是myCTest}很明显,#是把符号转变成字符串;##是连接常用于宏定义结合以下例子,应该很容易理解:#define DEFAULT_FUNC(__Cls) std::string GetClassName(){ return #__Cls; }#define DEF

2021-08-26 11:07:43 119

原创 go 之 浮点数相等判断

因为浮点数不是一种精确的表达方式,所以像整型那样直接用==来判断两个浮点数是否相等是不可行的,这可能会导致不稳定的结果。下面是一种推荐的替代方案:import "math" // p为用户自定义的比较精度,比如0.00001 func IsEqual(f1, f2, p float64) bool { return math.Fdim(f1, f2) < p }...

2021-08-23 16:20:53 749

原创 IOCP IPV6 支持

重点是 sockaddr_storage 结构;地址结构调整:sockaddr_storage m_sockaddr;可以对照调用接口名称,对应修改:1.AcceptExif (!AcceptEx(m_pListenSocket->GetSocket(), m_sSocket, m_szBuffRecv, 0, sizeof(sockaddr_storage), sizeof(sockaddr_storage), &dwRecv, &m_olRecv)) //if (!Ac

2021-08-12 11:17:37 217

原创 docker Ports are not available

docker 启动mysql 容器出错Ports are not available: listen tcp 0.0.0.0:3306可能还有mysql服务在运行,端口被占用,把端口释放,最直接的就是找到正在运行的mysql服务,并停止,或者换个端口,不要用3306

2021-07-26 16:11:17 888

原创 原生字符串字面量

提前解释内容:u8前缀:utf8存储格式;比如:u8"abc"字符串u前缀:utf16存储格式;比如:u"abc"字符串U前缀:utf32存储格式;比如:U"abc"字符串原生字符串字面量 关键字:R//举例,比较典型的,符合大众认知的转义符 \n 换行cout << R"(abc\nabc)";// 输出内容是 abc\nabcprintf(R"(abc\n111)");// 输出内容是abc\n111//输出结果是//abc\n//123cout<<R"(

2021-07-14 17:43:05 126

原创 C++11之 自定义字节对齐方式(扩展字节对齐方式)

操作符:alignof(XXXX) 输出对齐方式描述符:alignas(xxxx) 自定义对齐方式(xxxx必须是2的幂,即1,2,4,8,16,32,…,2^n)1,2,4,8 通常称为基本对齐值,或标准对齐16,32,64,… 这类大于8的对齐方式,称为扩展对齐值自定义对齐方式也是受到平台限制的,并非可以随心所欲的定义任何值如果定义的扩展对齐值超过平台最大限制值,则可能出现编译期错误,甚至运行时未知内存异常传统的对齐方式传统C++对齐方式,都是默认的1字节,2字节,4字节,8字节对齐C+

2021-07-13 17:50:57 715

原创 编译器生成类默认构造和禁用默认构造

直接看实例,关键字 default 和 deleteclass A{public: A() = default;// 告诉编译器,即便有自定义构造,也要生成默认构造 A(int n){} //自定义构造 A(const A&) = delete;// 禁用拷贝构造protected:private:};...

2021-07-08 17:21:05 218

原创 线程独立局部存储

所谓线程独立局部存储,说白了,就是不同线程之间的变量独占内存空间,不共享,即便是全局变量关键字 thread_local,不必纠结怎么实现的,会用就行#include <windows.h>#include <cstdio>#include <iostream>#include <thread>#include <atomic>using namespace std;int thread_local g_nCount = 0

2021-07-07 17:17:54 309

原创 C++11 thread

包含头文件#include < thread >用法很简单,直接看例子:#include <thread>void func0(int nArg1,int nArg2) { cout << nArg1 << nArg2 << endl;}void func1() { // to do}int main() { thread t0(func0, 1, 2);//创建线程 thread t1(func1);//创建线程

2021-07-02 16:22:35 70

原创 变长模板实现完美转发

#include <cstdio>#include <iostream>using namespace std;struct A { A() {} A(const A& a) { cout << "COPY Constructed " << __FUNCTION__ << endl; } A(A&& a) { cout << "Move Constructed " << __FUNCT

2021-06-23 17:20:07 105

原创 以模板作为模板参数(嵌套模板)

#include <cstdio>#include <tuple>using namespace std;template<typename A,typename B> struct S{};template< template<typename...>typename T,typename... TArgs //这边很难理解,需要看tuple原型,辅助理解 ,template<typename...>typename U

2021-06-23 16:45:33 306

原创 sizeof...

先看例子template<class... T> int Test(T ...t){ size_t nSize = sizeof...(t); switch(nSize){ //to do }}没错,新特性中又扩展了 运算符 【sizeof…】,用于计算变长包的长度,上面例子中,如果 Test(11,22,33,44,55,66),则sizeof…(t)=6...

2021-06-23 14:53:20 611

OpenLuaDLL.zip

演示C++中创建lua状态机,加载指定lua脚本,并且在lua脚本中加载另一个由C++导出的lua库

2020-03-31

mLuaDLL.zip

在C++中自定义接口,并导出库,可在lua中加载库,并使用自定义接口函数,属于C++与lua交互的简单应用吧

2020-03-31

Lua53Lib.zip

5.3版本的lua官方c源码,使用vs2015编译器编译成lib静态库库,亲测可用,我自己开发用的是5.1版本,如果有需要,可以进入我的资源列表中查找

2020-03-31

Lua53DLL.zip

5.3版本的lua官方c源码,使用vs2015编译器编译成dll动态库,亲测可用,我自己开发用的是5.1版本,如果有需要,可以进入我的资源列表中查找

2020-03-31

Lua51Lib.zip

5.1版本的lua官方c源码,使用vs2015编译器编译成lib静态库,亲测可用,属于比较稳定的lua版本

2020-03-31

Lua51DLL.zip

5.1版本的lua官方c源码,使用vs2015编译器编译成dll动态库,亲测可用,属于比较稳定的lua版本

2020-03-31

openssl.zip

openssl编译库,属于三方库,包含aes加密,windows开发,亲测是可用的,如果有什么不明白的,可以留言

2020-03-19

序列流代码.zip

C++类,简单实现序列流内存操作功能的demo,包括写入和读出,基本够用了

2019-10-30

assistx10.9.2223.zip

破解版,只需要正常安装后,根据readme.txt中提示的位置,替换va_x.dll即可,支持vs2010 vs2012 vs2013 vs2015 vs2017,据说可以支持vs2010以前的版本,我没试过,我自己只用到2015版本,希望能帮助到亲们

2019-08-05

linux_json.zip

在Linux中配置json环境的压缩包,包括json和scons,安装流程可以跳转到我的博客文章参考下,算比较详细了

2019-07-19

vs2010sp1补丁包

win10服务器安装ODBC时,报系统错误126,时缺少vs2010sp1补丁,下载一个安装即可

2019-04-04

vcredist_x64_x86

win10安装ODBC可能需要的先决vs2015 redist环境,安装ODBC8.0时报错内容包含visual studio 2015 x64 redistrubutable的提示

2019-04-04

cocos2dx_android环境搭建和环境变量配置

cocos2dx_android环境搭建和环境变量配置,挺详细的,相信即便完全没有Android编译环境搭建基础的菜鸟,也可以独立完成!讲述下载和安装哪些工具和插件,及详细的环境变量配置,还有几个可能遇到的问题及解决方案,分享给大家了

2018-01-03

C++ builder Package,BPL创建和调用,接口导出

网上找到的都是Delphi写的bpl,我需要C++ builder的,于是自己写BPL(C++ builder package)创建、接口导出、vcl调用,对初学者挺有用的,认真研究下; 补充说明:早期刚学的时候写的demo,好像用的编译器是2005版本,反正版本挺低的;

2014-04-03

BCB DLL动态库创建,接口导出,VCL调用DLL

对DLL初学者很适用挺适用,用BCB(C++ Builder)编写,网上很难找到一个完整的例子,只要认真研究下,自己再写DLL动态库或调用DLL动态库之类的,基本没难度,希望对亲有所帮助; 补充说明:早期刚学的时候写的demo,好像用的编译器是2005版本,反正版本挺低的;

2014-04-03

sqlite3数据库

sqlite3数据库工具,个人感觉还不错

2013-05-31

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

TA关注的人

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