自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kiritow的学园

为自己而战! | https://github.com/kiritow

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

原创 WSL设置开机启动程序(含Root权限启动配置)

WSL设置开机启动程序(含ROOT权限启动配置)启动任务计划程序(Win+R运行 taskschd.msc 或通过控制面板-系统与安全-管理工具-计划任务)在右侧操作栏里点【创建基本任务】弹出如下窗口填写基本任务名称,触发器选择【计算机启动时】下一步选择【启动程序】,然后弹出如下页面在程序框中填写cmd在添加参数框中填写想要执行的wsl命令,例如开机启动pm2,再通过pm2维护其他任务,可以这样写:/c wsl pm2 update如果需要执行的命令需要root权限(例如开机启动ssh服

2020-10-15 15:04:24 108

原创 移植SDL2程序到Android平台

1. 下载安装JDKOracle官网改版了,现在是这样的(可能需要注册账户才能下载)2. 下载安装AndroidStudiohttps://developer.android.com/studio3. 下载SDL2源码https://www.libsdl.org/download-2.0.php选择source code分类的zip包参考资料https://lazyfoo.net/tutorials/SDL/52_hello_mobile/android_win.

2020-05-17 14:40:07 233

原创 Ubuntu Server 命令行下创建虚拟机

主机版本: Ubuntu Server 18.03.4 LTS首先查看当前机器是否支持虚拟化grep -c vmx /proc/cpuinfo 是否支持Intel-VTxgrep -c svm /proc/cpuinfo 是否支持AMD SVM如果两个任何其中一个大于0则表明CPU支持虚拟化,否则可能需要到BIOS里查看并打开相应的虚拟化设置。安装qemu, virt程序等:s...

2020-01-05 18:23:14 320

原创 Ubuntu Server 18.04配置无线Wifi网卡

Ubuntu Server 18.04从USB/CDROM安装时,无法正确识别无线网卡,因此只能先普通安装或先接入有线安装。安装完成后第一次启动完毕登入系统,调整软件源(可使用腾讯软件源http://mirrors.cloud.tencent.com/ubuntu,或直接参考清华大学软件源配置https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/...

2020-01-05 17:57:39 2054

原创 自定义安装Office 365(适用于个人版订阅等)

Office365默认会安装全家桶(除了Word, PPT,Excel外还有Access, OneNote, Skype等等),对于不想使用三件套之外的用户来说,可以通过以下方式选择性安装:1. 下载ODT(Office Deployment Tool)参见Office部署工具概述,或直接从Microsoft下载中心下载.2. 下载完成后运行,选择文件夹解压文件。得到几个xml和一个s...

2019-10-27 14:56:28 1119

原创 Lua C API调用性能测试

最近自己做的一些小项目里面用到了Lua和C API混合编程。在处理事件上有两种设计,一种是在C层通过消息队列接收消息并根据消息类型调用对应的Lua函数,并向Lua层提供AddListener这样注册回调的方法。另一种是直接将消息队列方法暴露给Lua层,例如PushEvent,GetEvent等,然后在Lua层编写一些代码用来处理事件。最开始采用的是第一种方案,后来发现当消息量增多时会有一些卡顿,于...

2019-08-26 03:23:20 230

原创 Node报错 unexpected token: function

最近在写代码的时候偶遇的一个问题,项目编译打包发布后,访问回报500,查看后台日志发现Node进程启动失败,报告unexpected token: function错误。经排查发现是发布时Node版本选择错误(可能是发布工具的Bug),Node 7.6(V8版本 5.5)后才完全支持async, await关键字,低版本Node虽然有兼容方案,但本质上都是以函数实现的polyfill,所以不能完全...

2019-08-01 02:07:38 1407

原创 Python异常调用栈

一般来说,当异常发生时,其异常栈应该从主调用者的入口一直到异常发生点,例如Java里经常出现的长达一两页的stack trace,这其中可能存在中间层代码收到异常时,进行一些动作(关闭数据库连接或者文件等),然后再次抛出异常的情况。Python 3中,在except块内进行处理,然后重新抛出异常即可,例如下面的测试代码:# -*- coding: utf-8 -*-import sys...

2019-06-08 20:18:06 574

原创 pip什么都装不上 报错Could not find a version that satisfies the requirement

本篇文章写于2019年3月8日,当前Python稳定版最高版本为3.7.2,最高测试版本为3.8.0 Alpha 2 (3.8.0a2)。今天一位同学想用pip安装opencv-contrib-python这个包,却一直报错:Could not find a version that satisfies the requirement opencv-contrib-python (fro...

2019-03-08 22:04:25 24162

原创 Python PDF转image方法小结

昨天有一个突发的需求,要求尽快的把一个一百多页的pdf按照页码每页转换成一个jpg文件后打包传回。正好最近一直在学习Python就打算写一个这样的脚本(结果发现踩了坑)Wand【pypi - Wand】【Wand官网】【Github - Wand】pip install wand在百度上找解决方案的时候,第一条用的就是wand. 后来去stackoverflow上看也有用wand来操作的,看...

2019-03-05 12:21:21 3848

原创 Lua C API的垃圾回收探索 (Garbage Collection)

Lua和C API是通过一个虚拟栈结构lua_State交互的。关于这个虚拟栈,Lua官方手册给的提示并不多。首先,lua栈上的对象和值是受到GC控制的。因此这样的代码可能存在一些问题:lua_State* xL=lua_newthread(L);lua_pop(L,1)// work with xL...在这里,lua_newthread执行后,会有一个新thread被放到L上,然后...

2018-12-19 22:05:43 399

原创 Lua Userdata 的元表 (Metatable)

在Lua C API编程上,经常有一些博客会说,必须使用luaL_newmetatable和luaL_setmetatable来给userdata加元表。还说给userdata加的元表不是普通的table。于是本着不信邪的态度,我翻了一下源码并自己尝试写了一些测试。普通的表能做userdata的元表么对于这个问题,我觉得是可以的,因为Lua中只有这一种数据结构,不存在什么特别的表。class...

2018-12-15 11:47:31 1781

原创 浅谈Lua和C++异常处理

浅谈Lua和C++异常处理最近在弄一些跟Lua相关的小玩意, 在异常处理上遇到了一些问题.Lua是一门小巧的, 用纯C写的语言。不过也支持按照C++编译。在可以使用makefile的环境下,指定CC为g++即可(clang可能会给出warning,表明正在将.c后缀的文件当作.cpp)。在VS下需要【配置 -> C/C++ -> 高级 -> 编译为】,然后选编译为C++(或者...

2018-12-14 13:15:08 863

原创 LeetCode 887 鸡蛋掉落 Super Egg Drop

题目链接 887. 鸡蛋掉落AC代码 【传送门: Kiritow/OJ-Prolems-Source LeetCode-CN/887.cpp】题目原文(翻译得极其生硬)你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N  共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于...

2018-08-21 13:29:20 2332

原创 C/C++ CGI处理文件上传

前端页面如下:(index.html)<!DOCTYPE><html> <head> <title>Upload File Test</title> </head> <body> <form enctype='multipart/form

2018-08-15 09:39:36 1215

原创 从标准输入stdin读取二进制数据

C/C++提供的标准输入stdin默认是以"r"模式打开的,在Linux下由于"r"和"rb"效果相同,因此不会受到影响。在Windows下,"r"意味着文本模式,\r\n会被转换成\n,而且遇到EOF就会停止。因此为了从标准输入读取二进制数据,需要向程序中添加以下代码:#include <io.h>#include <fcntl.h>int main()

2018-08-15 08:27:35 1177

原创 start命令使用需要注意的问题

写一段bat脚本,需要不阻塞的调用一个外部程序,于是使用start命令. 遇到了一些坑。1. 启动一个路径带空格的程序第一直觉是start "command with blank",但是行不通,因为start默认第一个参数是title因此写start command是可以的但是写start "command with blank"就不行了. 因为此时command with blank就成...

2018-08-01 00:32:22 1177

原创 Updating known_hosts is not supported in Windows yet 解决方案

使用ssh时,如果目标机器重装导致其ssh指纹发生了变化,在确认没有中间人攻击的情况下,可以使用【sshkey-gen -R 发生错误的IP】这条命令来重置对应IP的ssh指纹. 但是这一条命令在Windows的cmd或者powershell下没有作用并且会提示Updating known_hosts is not supported in Windows yet。这时只需要前往【系统盘:\用户\...

2018-07-15 01:10:27 1864

原创 MySQL JDBC 异常解决 The server time zone value is unrecognized or represents more than one time zone...

MySQL版本5.7 , JDBC Connector 版本 8.0 估计是新版本Connector的事情,旧版驱动没有问题解决方法:在url后面加上参数 serverTimezone=UTC 即可(不过会引起时间数据的8小时相差,可以使用serverTimezone='+08:00'来解决). 官方说这是一个已知的bug,关于serverTimezone的取值参见 官方关于Timezone的说明...

2018-06-19 16:27:01 744

原创 获取C++异常的名称 (Windows和Linux下)

前一阵子在群里探讨到C++异常上能否应用模板,目前来看答案是不能。但是难道异常就不能更灵活一些么?难道只能try...catch已知的基于类继承体系的异常,对未知的异常re-throw么?(虽然那是经典且正确的方法)经过一番探索,找到了某些黑魔法。先来看一段代码:int ttt;void func(){    throw std::pair<int, int&>(1, ttt)...

2018-06-14 01:55:42 774

原创 Ubuntu下sudo速度很慢原因及解决办法

这个问题是最近装Ubuntu Server 18.04 LTS时遇到的,之前用Ubuntu Server 16.04 LTS并没有发现这个问题.症状:sudo速度非常慢,提交命令之后大概需要10秒左右才有输入sudo密码或者开始运行。su命令症状相同。原因:Ubuntu Server被设计成一种类似于分布式的操作系统网结构,允许/etc/sudoers中的成员不在本机上。从而sudo时会先从网络上...

2018-06-14 00:32:40 4091

转载 gcc的__builtin_函数介绍

GCC提供了一系列的builtin函数,可以实现一些简单快捷的功能来方便程序编写,另外,很多builtin函数可用来优化编译结果。这些函数以“__builtin_”作为函数名前缀。很多C标准库函数都有与之对应的GCC builtin函数,例如strcpy()有对应的__builtin_strcpy()内建函数。下面就介绍一些builtin函数及其作用:__builtin_ffs(x):返回x中最后...

2018-05-10 20:32:47 390

原创 解决Ubuntu开机启动项rc.local不工作的问题

整个过程异常困难,还好最后成功了。首先尝试了在/etc/init.d下新建自己的脚本,然后加权限【sudo chmod +x 脚本】,接下来配置开机启动【sudo update-rc.d 脚本 defaults】。按理说这样就OK了,但是此处可能会看到一个missing LSB tag的错误,可以选择忽视掉,解决办法之一是非常粗暴的删除insserv这个东西(用apt删),另一种办法是添加他要的那...

2018-03-03 20:43:29 7243 2

原创 贴心的CSDN Markdown编辑器说明

吼啊,CSDN现在支持Markdown了,当然要支持啦!

2018-03-03 20:39:55 276

原创 GetLastError() 返回值一览

函数原型:DWORD GetLastError()中文版(不完全)  〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不到指定的文件。   〖3〗-系统找不到指定的路径。   〖4〗-系统无法打开文件。   〖5〗-拒绝访问。   〖6〗-句柄无效。   〖7〗-存储控制块被损坏。   〖8〗-存储空间不足,无法处理此命令。   〖9〗-存储控制块地...

2018-03-03 20:15:49 5287

转载 SQLite学习手册(在线备份)

转自http://www.cnblogs.com/stephen-liu74/archive/2012/02/27/2326309.html一、常用备份:    下面的方法是比较简单且常用的SQLite数据库备份方式,见如下步骤:    1). 使用SQLite API或Shell工具在源数据库文件上加共享锁。    2). 使用Shell工具(cp或copy)

2017-08-04 15:44:27 515

转载 SQLite学习手册(命令行工具)

转自http://www.cnblogs.com/stephen-liu74/archive/2012/02/24/2325981.html工欲善其事,必先利其器。学好SQLite的命令行工具,对于我们学习SQLite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习SQLite的过程更加轻松愉快。言归正传吧,在SQLite的官方下载网站,提供了支持多个平台的命令行工具,使用该工具

2017-08-04 15:43:23 340

转载 SQLite学习手册(数据类型)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/22/2325258.html一、存储种类和数据类型:    SQLite将数据值的存储划分为以下几种存储类型:     NULL: 表示该值为NULL值。     INTEGER: 无符号整型值。     REAL: 浮点值。     TEX

2017-08-04 15:42:01 430

转载 SQLite学习手册(表达式)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/20/2323907.html一、常用表达式:    和大多数关系型数据库一样,SQLite能够很好的支持SQL标准中提供的表达式,其函数也与SQL标准保持一致,如:    ||    *    /    %    +    -    >  

2017-08-04 15:41:29 216

转载 SQLite学习手册(数据库和事务)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/18/2322575.html一、Attach数据库:     ATTACH DATABASE语句添加另外一个数据库文件到当前的连接中,如果文件名为":memory:",我们可以将其视为内存数据库,内存数据库无法持久化到磁盘文件上。如果操作Attached数据库中的表

2017-08-04 15:40:59 357

转载 SQLite学习手册(索引和数据分析/清理)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/17/2322335.html一、创建索引:    在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:    sqlite> CREATE TABLE testtable (first_col integer,s

2017-08-04 15:40:14 309

转载 SQLite学习手册(内置函数)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/15/2322027.html一、聚合函数:    SQLite中支持的聚合函数在很多其他的关系型数据库中也同样支持,因此我们这里将只是给出每个聚集函数的简要说明,而不在给出更多的示例了。这里还需要进一步说明的是,对于所有聚合函数而言,distinct关键字可

2017-08-04 15:38:53 423

转载 SQLite学习手册(数据表和视图)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/13/2321668.html一、创建数据表:    该命令的语法规则和使用方式与大多数关系型数据库基本相同,因此我们还是以示例的方式来演示SQLite中创建表的各种规则。但是对于一些SQLite特有的规则,我们会给予额外的说明。注:以下所有示例均是在sqli

2017-08-04 15:37:30 271

转载 SQLite学习手册(C/C++接口简介)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/10/2321386.html一、概述:    在SQLite提供的C/C++接口中,其中5个APIs属于核心接口。在这篇博客中我们将主要介绍它们的用法,以及它们所涉及到的核心SQLite对象,如database_connection和prepared_sta

2017-08-04 15:36:25 237

转载 SQLite学习手册(开篇)

转自 http://www.cnblogs.com/stephen-liu74/archive/2012/02/08/2317603.html一、简介:    SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表

2017-08-04 15:35:36 420

原创 无法定位程序输入点_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj于动态链接库上

(标题真长...)今天在写程序的时候遇到了这种情况,搜索了一番,发现了Stackoverflow上的 The procedure entry point _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev could not be located in the dynamic link library 主要问题是由libs

2017-07-30 21:18:08 7880 2

原创 升级Win下工具链以支持C++17

上次更新后使用的TDM GCC 5.1仅支持了C++11和部分C++14功能。这次选用MinGW-w64提供的Win下的工具链,地址如下:https://sourceforge.net/projects/mingw-w64/上次我也看到这个网站,但我想当然的以为最后更新是文件夹上标注的2015年。其实内部MinGW-w64的GCC已经支持到7.1啦选择Win32,thread mo

2017-07-19 17:50:36 1057

转载 Trip report: Summer ISO C++ standards meeting (Toronto)

转自 https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/[This post will be updated with additional details as mentioned in the comments section at bottom.]

2017-07-16 21:26:10 357

转载 Cookie/Session机制详解

转自http://blog.csdn.net/fangaoxin/article/details/6952954/会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Ses

2017-07-16 21:20:31 278

转载 Linux vi/vim

Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:史上最全Vim快捷键键位图 — 入门到进阶什么是 vim?Vim是从 vi 发展出来的一个文本编辑

2017-07-16 21:18:49 368 1

ASM Highlighter

ASM Highlighter是Visual Studio 2015+的一款插件,能够在VS内显示asm代码的高亮

2017-11-01

FastCGI SDK

FastCGI的官方开发包,包含C, C++, Perl, Java, 库等文档与开发资源。(FastCGI官网已经打不开了 QwQ)

2017-07-17

空空如也

空空如也

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

TA关注的人 TA的粉丝

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