C/C++ 和 Python
kowity
哈哈
展开
-
太阁立志传V DX的算术等式填空计算器
太阁立志传V DX的算术等式填空计算器,计算 ?+?-?*?=6 -> 2+7-1*3=6原创 2022-10-31 08:48:11 · 961 阅读 · 1 评论 -
基于TitanEngine SDK编写内存补丁的基本流程
使用x64dbg手工分析完程序梳理好流程之后,可以调用TitanEngine中的函数自动化的执行任务,批量进行脱壳、下断点、读写内存、改变程序流程等。1、启动调试调起新进程1、用 InitDebug(程序exe全路径,“”,程序运行目录) 启动调试进程。2、如果返回的 PROCESS_INFORMATION* 不为空,此时主程序会暂停,可以继续下断点。3、下断点之后,调用 DebugLoop 让主程序继续运行。附加到进程1、用 CreateToolhelp32Snapshot、Process3原创 2022-02-23 09:46:57 · 894 阅读 · 0 评论 -
Python 中使用 ogr 生成 shape 文件时的中文乱码问题
GDAL/OGR 的 1.9 版本开始,ogr 对中文的支持有了较大的改动。默认情况下,使用 Python 的 osgeo.ogr 生成 shape 文件时,直接使用 SetField 来设置属性值,其中如果含有中文就会出现乱码。在 driver 初始化之前,设置 gdal 的参数就可以解决中文乱码的问题。C/C++ 的做法具体链接看这里。在Python 的设置方法如下:import os原创 2012-11-17 22:27:15 · 4056 阅读 · 0 评论 -
使用 POCO 中的 XMLConfiguration 管理配置文件
using namespace Poco::Util; using namespace Poco; // 1. 创建空的配置 AutoPtr cfg(new XMLConfiguration()); // 2. 设置根的名称 cfg->loadEmpty("config"); // 3. 写入配置节点 cfg->setString("appconfig", ""); cfg原创 2012-05-31 08:26:05 · 3664 阅读 · 0 评论 -
使用 POCO 的方法来拆分字符串(支持中文)
#include "Poco/StringTokenizer.h"#include using Poco::StringTokenizer;int main(int argc, char** argv){ std::string tokens = "white; black; 中文, blue, green; yellow"; StringTokenizer tokenizer原创 2012-05-29 23:38:28 · 3158 阅读 · 0 评论 -
Lua 通过 alien 库调用 zlib 压缩/解压
上次的文章(http://blog.csdn.net/kowity/article/details/7229815)讲述了上个在 Lua 中调用 zlib 压缩、解压功能的库。其实通过使用 Lua 的 alien 库就可以直接调用外部 dll 中的函数,并不需要专门为 Lua 写一个插件。调用 zlib 压缩、解压的代码如下(参考了 LuaJIT 的部分实现方式(http://luaj原创 2012-02-13 22:34:04 · 5728 阅读 · 1 评论 -
H3C Portal 上网认证的 Android 客户端
本文仅供学习交流之用现在,许多的单位和学校都采用了 H3C 的 Portal 认证模式来控制用户的上网行为。H3C 提供了原生 Windows 版本的 iNode 智能客户端 和 Java 版本的 iNode DC,但是却没有手机 Android 版的客户端。经过几天的分析,其实整个认证过程并不复杂。通过分析客户端与服务器的通信过程,我们不难发现认证的大致流程如下图:1.原创 2012-01-28 14:49:22 · 24537 阅读 · 7 评论 -
如何减小 Visual C++ 2010 静态编译出的 MFC 可执行文件的大小
最近发现一篇好文,国内基本搜索不到相关内容,于是将其翻译出来。基本上是看完了全文之后,通过自己的理解意译出来的,原文地址(需要 翻,墙。):http://tedwvc.wordpress.com/2010/05/27/how-to-make-small-statically-linked-mfc-exes-in-visual-c-2010/在上一篇博文中,我用了一个简单的办法来比较 201翻译 2012-01-11 17:16:16 · 6735 阅读 · 1 评论 -
使用 WinINet 中的 FtpConnection 断点续传(上传)文件
网上搜到的在 Windows 中对 FTP 断点上传的方法都是使用 CSocket 来做的,其实使用 WinINet 中带有的类就可以实现断点上传了。直接看代码。void CWebFtpClientCtrl::fileUpload(LPCTSTR serverName, INTERNET_PORT port, LPCTSTR userName, LPCTSTR password,原创 2011-12-27 14:05:57 · 3541 阅读 · 3 评论 -
Windows 下使用 VS2010 最小化编译 GDAL/OGR
GDAL 支持大量的栅格和矢量格式,但是一般情况下,大部分格式都是我们使用不到的。在 Linux 下编译 GDAL 时,可以使用以下命令进行裁剪:./configure --prefix=/usr/local \ --with-threads \ --with-ogr \ --with-geos \原创 2011-10-26 00:00:10 · 4008 阅读 · 0 评论 -
使用 wget 整站下载
最近发现一个很好的网站:http://ebook.elain.org,里面有大量的技术书籍。于是想使用 wget 把整个网站都下载下来。但是 wget 对中文的 url 支持得不够好,直接使用: wget -m http://ebook.elain.org下载的话,中文文件名就会乱码,比如“2010架构师大会PPT”就变成了“2010鏋舵瀯甯堝ぇ浼歅PT”。 wget --re原创 2011-10-23 23:50:44 · 8926 阅读 · 2 评论 -
POCO 的 Zip 类对中文文件名支持不正确的解决方法
POCO 在 Windows 中默认是定义了 POCO_WIN32_UTF8#if defined (POCO_WIN32_UTF8) std::wstring utf16Path; UnicodeConverter::toUTF16(path, utf16Path); _handle = CreateFileW(utf16Path.c_str(), access, shareMod原创 2012-07-26 10:40:15 · 3177 阅读 · 0 评论 -
杀鸡也用牛刀,Haskell 处理 XML 文档小试
平常经常用千千静听来听音乐,长期以来就形成了一个自己最喜欢听的音乐列表。这几天想把这些音乐全部复制到U盘,插在车上,开车的时候也可以听听。但是每个MP3、WMA分散在不同的文件夹,一个个复制的话工作量就大了。我的音乐列表一般存为千千静听的 *.ttpl 格式,其本质就是一个 XML 文件。一般格式如下: 每个 item 节点中都有一个 file 属性,保存了 MP原创 2012-10-31 22:57:03 · 1516 阅读 · 0 评论 -
交叉编译 小米路由器mini 的 pyOpenSSL
export XIAOMI_ROOT_PATH=/opt/xiaomiexport PATH="${XIAOMI_ROOT_PATH}/bin:${PATH}"export CC="mipsel-openwrt-linux-uclibc-gcc -pthread" export LDSHARED="mipsel-openwrt-linux-uclibc-gcc -shared"expor原创 2016-08-25 09:54:06 · 1312 阅读 · 0 评论 -
交叉编译 小米路由器mini 的 python
看了很多文章,要么说的是用opkg安装python,要么说的是小米路由器的交叉编译,就是没有mini的。学习了这篇文章(http://me.deepgully.com/post/5638916786880512),编译了小米路由mini的python。小米路由mini版的路由是mips的,跟小米路由的arm版不一样,所以脚本做了一些修改。先下载小米路由器mini版的开发包,里面有编译工原创 2016-08-24 18:09:12 · 5962 阅读 · 1 评论 -
树莓派 Archlinux 的国内更新源以及 8188EU 的网卡驱动
编辑源列表:vi /etc/pacman.d/mirrorlistServer 改成 :Server = http://mirrors.stuhome.net/archlinuxarm/armv6h/$repo是成都电子科大维护的源,速度很快,我的 10M 宽带基本满速原创 2014-02-05 23:38:25 · 7310 阅读 · 0 评论 -
py + opencv 打造树莓派监控,场景有变化自动拍照上传到百度云
大家用树莓派来做监控,文章里面一般都是使用 fswebcam 或 motion。motion 非常强大,可以监测画面变化后保存成 mpeg 或 jpeg,还可以运行成 http 服务器模式。但是树莓派放在家里,从外面访问有时也会访问不了(比如 IP 变了等原因)。其实使用 Python + OpenCV 打造一个对运动画面能够进行简单判断的程序并不困难。下面的程序每个 0.5 秒做一下检测,如果画原创 2014-02-13 14:10:23 · 11026 阅读 · 1 评论 -
下载 https://github.com/android 上的全部源代码
从 https://android.googlesource.com/ 上弄源代码下来真是不容易,不但得用 vpn,repo 还得半天。github 的速度就快多了,关键是不用 vpn,随时可以下载。而且 github 还可以直接下载 zip 包,那速度可不是 repo 能比的。下面写了个代码批量下载 zip 包:#coding:cp936import re, requestsd原创 2014-02-09 12:40:28 · 15394 阅读 · 3 评论 -
勘测定界坐标交换格式文本文件转换成 shapefile 格式
之前写了一篇《使用 FME 将勘测定界坐标交换格式文本文件转换成 GIS 格式》,但是需要安装有 FME 平台才能实现,有时需要在外面没有装有 FME 的电脑上转换就不可行了。后来用纯 C 写了一个转换程序,不依赖任何 GIS 平台和其他 DLL,只有 64k 大小方便携带和下载,转换 3 万个面的 shapefile (大约 150 万个拐点)只需要不到 10 秒。使用方法:sh原创 2013-11-23 12:16:40 · 7853 阅读 · 15 评论 -
Dooc 文档下载器 -- 支持【百度文库】、【豆丁】、【MBALib】直接下载,无需登录积分
Dooc 文档下载器 -- 支持【百度文库】、【豆丁】、【MBALib】直接下载,无需登录积分。轻松下载各类文库文档。本程序使用 Python 编写。下载:点这里下载操作简单自动打包成 PDF字迹清晰原创 2012-02-21 19:49:41 · 3336 阅读 · 4 评论 -
编译 Lua 的 zlib 库——lua-zlib
最近需要使用 Lua 给 Wireshark 写个插件(dissector),苦于基于 C 的文档实在是太少了,干脆就用 Lua 来写。但是 Lua 也真是够“轻量”的,官方都没有个支持 zlib 压缩/解压的库。最后终于找到了 lua-zlib (URL:https://github.com/brimworks/lua-zlib),可以支持实时的流(Stream)压缩/解压。编译 l原创 2012-02-02 23:33:59 · 11491 阅读 · 1 评论 -
QT4 中 GDAL 打开 QString 中的字符串路径
在 Windows 下面,使用 GDALOpen 打开 QString 的路径含有中文时,直接使用以下代码是无法成功的:GDALDataset *inImg = (GDALDataset *) GDALOpen(qStrImgPath, GA_ReadOnly); // 或者 G原创 2011-07-18 22:42:31 · 1163 阅读 · 1 评论 -
扫描版页面自动切边工具
扫描版页面图片自动切边工具,自动计算白边的范围,无须手工干预。原创 2011-02-25 13:24:00 · 10352 阅读 · 16 评论 -
扫描版页面自动切边工具 v1.1
最近用 Kindle 3 看扫描的书(漫画和字书都有),直接看扫描版的原始书还是有很多不便。在原装系统中没有切边的功能,虽然“多看"中有切边的功能但也不是很智能。比如扫描的书页里面,有一些是奇数页左边空白多一点,偶数页右边空白多一点。 以前都是使用 PS 把页面中有效的部分切出来原创 2011-07-26 23:02:42 · 7117 阅读 · 7 评论 -
Python 编写的分析网速程序
我们宿舍原来是 7 个人共享一个 1M 的 ADSL 宽带,最近感觉这点带宽用起来是越来越力不从心了,所以我们打算做一次全面的分析,看看到底是谁的哪种网络应用占用带宽比较多。首先得测试一下大家在正常使用时的网速。还好我们的 TP-Link 的那个路由器有流量统计的功能,打开这功能后路由器的管理页面可以看到数据。但只有每时刻的总流量,手工来做的话还得每几秒计一次数据,然后再除以总时间才能算得出每原创 2007-12-30 12:51:00 · 8510 阅读 · 2 评论 -
C++ 输出时的小数点后的位数
关于 C++ 输出时的小数点后的位数是很基础的东西,不过有时候久不用了还真的不太记得。double a = 3.141592, b = 2213242.329843;cout.precision(6);cout a 输出的是:3.14159221324上面输出的是“6个有效数字”,而我是想要输出 3.141592 和 2213242.329843 的数字,不管小数点前面有原创 2007-12-09 14:36:00 · 6071 阅读 · 2 评论 -
Ubuntu 里面一些 Python 库
最近要在 Ubuntu 下面用一下 Python 写东西,需要一些 Python 的扩展,它们在源里面有一些名字和 Windows 下面的不同。特在此记录下一些常用的扩展。matplotlib, scipy 的名字分别是在前面加 python-,比如 python-matplotlib。有一些有 2.4 版又有 2.5 版,它好像会自动判断自己机子上装的是什么版本。PIL 在源里面(我的是 Dap原创 2008-02-23 21:57:00 · 1892 阅读 · 0 评论 -
基于行或列的切图小工具
有个同学喜欢上网找些乐谱打印出来自己弹。每次他都抱怨这些乐谱打印出来太费纸张了。比如下面这个谱,空白的地方至少占了整幅的 1/3。反正我们是自己印来看的 ,也不求要有多美观。所以后来他每次拿去打印之前,都要自己把空白的部分去掉,使得整图更紧凑一些。可是下载多了,次次都要手工修整也太烦人了。为此我做了一个小工具来帮他。这个 PicCutter 是用 Python + wxPython + PIL原创 2008-02-19 15:55:00 · 1114 阅读 · 0 评论 -
优先队列使用小记
今天跟着书上说的做了一个动态模拟的程序,第一次用优先队列(priority_queue),才发现原来优先队列是那么用的,在模拟仿真的时候还挺好用的。优先队列排序的时候,可以自己定义排序的规则。比如先定义一个:class comp{public: bool operator () (Event* left, Event* right) {原创 2007-11-27 13:24:00 · 875 阅读 · 1 评论 -
原来 rfind 等函数与我想像的不同
我一直用 C++ string 对象的 rfind 来判断文件扩展名,比如:if ( inFileName.rfind("txt") )...{ ...}这前我总以为 rfind() 如果没有找到就返回 0,所以一直以来我测试时都只用 txt 扩展名的文件来测试都没有问题。这几天加上处理其它文件的方法之后,程序就一直有错误。我还以为是处理其它文件的模块内部有问题呢。找了半天原原创 2008-01-29 16:03:00 · 4075 阅读 · 0 评论 -
Blender 中的字体目录
最近我的笔记本电脑借出去了,但是我又得用 Blender (一个类似 3DS MAX 的作图软件)赶着要做一些东西。所以只好拿着个 U 盘装着 Blender,见有空的电脑就临时画画。还好 Blender 不大,总共才 20MB 左右。不过 Blender 内置的字体实在是太小(视觉上看起来小)了,我就用微软雅黑的粗体来替代他,微软雅黑在不同的显示器上看起来都挺舒服的。但是,Blender 2.3原创 2007-06-09 22:34:00 · 3356 阅读 · 0 评论 -
GCC 4系编译含有 XPM 的文件时有 Warning 的处理
听说最新的 GCC 编译器对 C++ 标准支持得更好了,所以最近把我的 GCC 从 3 系换成了 4 系。然后用 GCC 4 编译了一下原来在 GCC 3 时写的一些项目,没想到冒出了几百个 Warning。主要都是说 xpm 文件里面的:warning: deprecated conversion from string constant to char*。在 xpm 的文件里面都是这样原创 2007-08-08 18:30:00 · 1433 阅读 · 0 评论 -
在 VC6 中用 Boost 的正则表达式的一些错误的修正
今天用 boost 里面的 regex,编译自己的程序的时候,第一次编译成功,再编译第二次或更多,都是说perl_matcher_common.hpp文件有错之类的。最后还是在 http://lists.boost.org/boost-users/2004/04/6498.php 找到解决方法。把 perl_matcher_common.hpp 文件里面的下面这些语句去掉就行了。#if原创 2007-07-06 22:28:00 · 1024 阅读 · 0 评论 -
Python 源代码中有中文的问题
有时候在代码里面会有中文,这样直接保存下来的 xxx .py 文件不能在 cmd 里面直接运行,出现错误如下:SyntaxError: Non-ASCII character ……解决方法很简单,只要在代码第一行写上:# -*- coding:gb2312 -*-如果将文件以 UTF-8 编码来保存的话就写上这个:# -*- coding:UTF-8 -*-不加 -*- 也原创 2007-12-30 23:48:00 · 8040 阅读 · 2 评论 -
我的 Python 主机空间
学了好长一段时间 Python 了,前段时间想找个支持 Python(Django) 的空间来试试。国外的主机虽然性价比高(都是按 G 来算),但是没有美元也没有信用卡,就没法了。国内的支持 Python(Django)的空间还真是少,我找了好几天就看到两个比较好的:捌号主机和浪点 。但是捌号主机的空间也真是有够贵的,是便宜的也是好几百。最后我选择了浪点的空间。浪点的空间要普通级以上才能开通原创 2008-03-24 21:31:00 · 9536 阅读 · 3 评论 -
解压豆丁 V3 格式的 docin 文件的 Python 代码
首先把豆丁文件下载下来,然后使用此代码就可以将这个 docin 文件解压成多个单页的 swf 文件,使用 FlashPlayer 就可以直接查看。原创 2011-04-22 23:40:00 · 5515 阅读 · 5 评论 -
百度文库自动评分器
从百度文库下载东西时,很多情况下需要消耗一定的财富值。为了快速获得财富值,用 Qt4 写了个百度文库自动评分器。原创 2011-03-20 16:27:00 · 3946 阅读 · 7 评论 -
ctypes 载入 dll 产生的 WindowsError: [Error 126] 错误原因
在 Python 里面使用 ctypes 载入 dll 时,如果这个 dll 还依赖于其它的 dll 的话,这些相关的 dll 也得要能被 Python 的进程访问到。如果访问不到就会报以下错误原创 2011-01-10 22:28:00 · 30696 阅读 · 2 评论 -
PSPSDK 开发的时候出现 __ctype_ptr 问题
<br />最近又开始用 PSPSDK 写程序,写了代码编译的时候发现竟然报 __ctype_ptr 的错误。本来还以为是程序代码有错,翻出旧代码来也是依旧出现问题。后来才发现原来是前段时间我把我用的 sdk(Minimalist PSPSDK)换成了 0.10 版本的,重新换回 0.9.3 版就没有问题了。可能是 0.10 版本的某些 lib 和我的有冲突吧。<br />原创 2011-01-02 22:34:00 · 2700 阅读 · 0 评论 -
笔记软件 Zim 的中文 Win32 版
以前一直用 Evernote 来记笔记,前几天使用了一下 zim,觉得很不错。但是苦于在 Windows 下面 Zim 不支持中文,不能使用中文路径和中文文件名。不过软件是 Python 写的,对中文的支持主要还是 Python 的中文编码问题。于是整了一下代码,改了一个中文版(不单是指中文界面,当然界面也是中文的)。 打包下载:http://code.google.com/p/jsone原创 2010-05-12 22:39:00 · 3345 阅读 · 3 评论