5 Kiritow

尚未进行身份认证

我要认证

热爱代码,也热爱生活 / C++ / NodeJS / Python数据分析

等级
TA的排名 1w+

移植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

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

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

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

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

2019-10-27 14:55:36

Lua C API调用性能测试

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

2019-08-26 03:23:20

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

Python异常调用栈

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

2019-06-08 20:18:06

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

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

2019-03-08 22:04:25

Python PDF转image方法小结

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

2019-03-05 12:21:21

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

Lua Userdata 的元表 (Metatable)

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

2018-12-15 11:47:31

浅谈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

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

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

从标准输入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

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

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

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

获取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

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

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。