- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 在glibc里找ioctl()系统调用
背景:了解ioctl()从用户空间到内核空间的整个调用链。内核那边已经理清了,glibc这边不太好弄。晚上各种查,捣鼓出了一点结果。首先从下载的glibc源码里找ioctl(),没发现比较直接的代码实现(主要是没看到陷入内核的相关代码)。后来不得已,干脆调试glibc代码得了,以前没调试过,不妨现在一试。调试glibc代码,主要参考这两篇:使用gdb调试glibc和用gdb追踪glibc代码执行过程
2016-11-17 11:46:53 2140
原创 c 可变参数函数
捣鼓一些事情,跟c库函数int open(const char *pathname, int flags, …)打交道,也有一丢丢像open()一样实现可变参数的需求。因此了解了下c中的可变参数函数。 主要涉及va_list, va_start, va_arg, va_end和C99扩展可变参数宏__VA_ARGS__,网上资料很多了,这里只想记下计算可变参数个数的小trick,参考了这篇Over
2016-11-15 22:34:48 493
原创 __attribute__ regparm
最早是在linux内核代码看到regparm这个函数属性的,因为搞系统调用机制的时候看到linux系统调用前面都加了asmlinkage,感到奇怪就查了下: #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))gcc在x86-Function-Attributes对regparm的解释如下: regparm (number)
2016-11-05 00:32:19 1477
原创 leveldb安装及第一个程序
os: ubuntu 14.04 ltsleveldb version=1.19安装cd leveldbmake此时leveldb/下多出out-shared和out-static目录,其中out-shared/下有:db db_bench helpers libleveldb.so libleveldb.so.1 libleveldb.so.1.19
2016-10-23 00:15:46 3995 3
原创 codeigniter 配置 database 出现 Call to undefined function mysqli_init 异常
--------------------------------版本:codeigniter - 3.0php 7mysql 5.7windows 10--------------------------------codeigniter的database.php配置'dbdriver' => 'mysqli'出现异常:An uncaught E
2016-07-05 18:06:26 14068 2
原创 nginx codeigniter 配置
nginx-1.10codeigniter-3.01. nginx.confserver { listen 80; server_name localhost; root D:/wnmp/www; #charset koi8-r; #access_log l
2016-07-05 15:09:58 1331 1
原创 输出文本文件倒数n行数据
面试时曾2次被问到如何实现输出文本文件(可能非常非常大)后n行数据的问题,这个功能基本是Linux下tail命令的简化版,随意写了下。因为涉及到不同系统及编码下回车换行的问题,情境比较复杂,在这里暂时未处理,但是基本处理思想是一样的。代码目前在linux下运行正确,在windows下输出异常,就是因为字符编码(主要是回车换行)问题 >_> 仅供参考。#include #includ
2015-10-28 21:13:33 1906
原创 汉诺塔递归及非递归解法
1. 经典递归解法#include void mov(char a, char b){ std::cout " << b << std::endl;}void recursive_hanoi(int n, char a, char b, char c){ if (n == 0) return; recursive_hanoi(n - 1, a, c, b); mov(a
2015-10-05 16:14:17 1543
原创 坑爹的stl list 的size()成员函数
刚做hihocoder #1086 Browser Caching的题,一开始的做法是stl unorderd_map+list,满心以为一次就AC,结果……TLE了。O(N)也能TLE!!(╯‵□′)╯︵┻━┻看别人的讨论,这个算法思路没错啊!捣鼓了老半天,换了map,TLE;cin/cout太慢,别人也用,也没见TLE……后仔细看某人代码,发现他没用list的size()成员函数,
2015-09-15 14:17:37 3780
原创 判断IPv4字符串合法性
点分十进制数值无前导零(0)。soj1103 AC。#include #include using namespace std;int read_digits(string s, int idx){int l = s.length(), i = idx;int d = 0;for (; i {if (s[i] >= '0' && s[
2015-09-11 23:24:34 1017
原创 二叉树转换为双向链表(后序遍历)
#include using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int v = 0, TreeNode *l = nullptr, TreeNode *r = nullptr) : val(v), left(l), right(r) {}};pa
2015-09-08 09:29:07 683
转载 [转] Android ListView CheckBox状态错乱
listView中包含checkBox的时候,经常会发生其中的checkBox错乱的问题。快速解决方案:在getView()里,将viewholder.checkbox.setoncheckedchangelistener() {...}这部分代码,放在在viewholder初始化之后,viewholder.checkbox.setchecked()之前的位置。比如:getView
2015-07-11 13:44:15 595
原创 itext/itextg添加中文支持的两种办法
1. 无关紧要的话itext/itextg是不支持中文(或其他亚洲语言)的。如果你在生成的文档中写入了中文,那么很遗憾,什么都不会显示出来 :(但是,(凡是都有个但是)仍然有其他办法能够让itext/itextg支持中文的显示。2. 办法一:itext-assian.jaritext-assian.jar提供了对亚洲语言的支持。你可以从itext在sourceforge的项
2015-02-09 20:46:59 8871 3
原创 Android NDK 引入预编译库的方法
1. 无关紧要的话 事情的起因是项目有地理编码需求,于是下了百度地图的相关jar和so文件。本来在测试程序中直接把jar和so文件拷到相应目录下就可以了,但是将代码整合到项目里面时,发现死活没法定位。把百度地图开发需要的配置又搞了一遍,demo又研究了几遍,就是没发现问题。快急哭的时候,不经意间点开了libs/armeabi这个文件夹,才发现直接拷进去的so库都没了!原来
2015-02-09 19:22:46 3207
原创 我的 emacs 笔记
久闻Emacs大名,但是决定用它,是因为据传它是函数式编程代码编辑器的不二之选。最近在学Haskell,在Windows下用Sublime Text 3用得十分之蛋疼,因此决定投奔Emacs。插一句题外话,之前在Linux下写代码的时候,如果不是用IDE,就是用Vim,而不是Emacs :)1.安装emacs版本 GNU Emacs 24.4.1。解压压缩包完毕,在解压目录下的
2015-01-02 20:23:28 672
转载 如何使用 Pylint 来规范 Python 代码风格
Pylint 提供了简单的方式来分析 Python 代码,其高可配置性很容易使一个部门的人员使用统一的代码风格。本文将通过理论介绍和示例分析阐述如何 Pylint 来规范 Python 代码。
2014-11-17 21:50:28 917
原创 安装SQL Server 2012 时出现 ERROR WHILE ENABLING WINDOWS FEATURE : NetFx3, ERROR CODE : -2146498298 的解决办法
安装 MS SQL Server 2012 Express with Tools 时,
2014-09-20 11:41:07 2919
tcp/ip详解里sock小程序
2015-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人