- 博客(28)
- 资源 (5)
- 收藏
- 关注
原创 mp4_2_jpeg_2_ascii_2_png_2_mp4
#!/bin/sh if [ $# -ne 1 ] then echo "\033[;31musage: $0 mp4file\033[0m" exit fi PREFIX=`echo $1 | awk -F. '{print $1}'` echo "mkdir $PREFIX" mkdir $PREFIX ffmpeg -i $1 -acodec copy -vn $PREFIX/$PR...
2018-12-24 15:49:32
172
原创 print return line number
snippet ret +#define DO_PRAGMA(x) _Pragma (#x) +#define TODO(x) DO_PRAGMA(message ("TODO - " #x " !!!!!!")) + +#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402 +#define GCC_DIAG_STR(s) #s +#define ...
2018-12-24 15:46:22
163
原创 android app forbidden load private libraries
can add private libraries to /etc/vendor/public.libraries.txt to temporary work around it
2018-12-06 16:14:11
130
原创 happy work for myself
某次youxiu employee 答辩,fail,里面说要happy work do not repeat yourself 当有问题出现二次时,马上提醒自己,这个问题耽误了时间,必须马上解决 一开始工作时就有这个习惯 所有桌面上,服务器上都是批处理,和自己写的小工具,ahk的映射,键盘的pn mount写了ncurses的ui,ssh 后的ip也是export了字符,alias 了b...
2018-11-16 11:04:29
182
原创 记一次修改库文件
除了n久前改了jni_onload,直接调用jni 库函数外 刚支持camera时,oem 库dump文件是w mode, qa需要a模式更好的处理数据 于是objdump到那个fopen函数,找到最后一个参数 用fopen +a 的c代码反汇编了下,找到a的值,刚好有行代码是memset,就把值mov到参数register 最后可以以a mode dump data ...
2018-11-16 10:45:25
101
原创 command mode
command mode like callbacks like channel in golang, in executor which decouples like future and packaged_task c++ because more utilized, include lamba, thread, atomic, container, algorithm,iterator...
2018-11-14 11:02:48
375
原创 arm32 asm write to stdout
__asm__ __volatile__ ( "mov r1, %[str] \t\n" "eor r2, r2, r2 \t\n" "loop: \t\n" "ldrb r3, [r1], #1 \t\n" "cmp r3, #0 \t\n" "addne r2, #1 \t\n&quo
2018-11-02 10:05:20
100
原创 asm write stdout in linux x64
__asm__ __volatile__ ( "movq %%rsi, %%rdi \t\n" "movb $0, %%al\t\n" "movl $0, %%ecx \t\n" "not %%ecx \t\n" "cld \t\n" "repnz scasb \t\n" &q
2018-11-01 18:33:42
134
原创 .vimrc一点改动
1.方便模板<>跳转 autocmd FileType c,cpp,make,go,h set tabstop=4 | set expandtab | set mps+=<:> 2.同行单手跳转到real word .vim/autoload/EasyMotion.vim - call EasyMotion#WBK(a:visualmode, a:direct...
2018-10-25 13:55:18
143
原创 ikbc poker2
poker2方向键需映射,edsf和jklh,后者为toggle mode使用。 后面开关都默认off。~需映射一下,另外bs键好难用,键程太长 配合ahk可以用,只是pn键每次都按有点累 cVim和vim里面可能不需要映射,默认已经很好用,win下还是得映射一下 映射c到cmd+adb shell,密码也映射了一下,老是输错 就键排布,两个ctrl键位置还好,比hhkb好点,fn键和p...
2018-10-18 11:19:02
1596
原创 print
变量类型太遥远,不想用printf #include <string> #include <sstream> namespace ml { inline void args_string_f(std::ostringstream& stream) { stream << "\n"; } template<typename T, typ...
2018-10-17 15:29:41
112
翻译 print struct
之前无法获取pod struct的成员个数,现在可以,参考网上cosmos的代码,可以打印结构体 #include <string> #include <sstream> inline void args_string(std::ostringstream&) {} template <typename T> inline auto char2in...
2018-10-12 16:19:44
266
原创 hhkb好用吗?
感觉不好用,ctrl非常不人性化,不明白为什么有人说ctrl很好用,难道我用vim不是emacs的原因吗 ctrl+w ctrl+e ctrl+a ctrl+c ctrl+v ctrl+z ctrl+d ctrl+f ctrl+g ctrl+t ctrl+r 简直无法忍受小拇指和其它手指的扭动 无法掌压简直变态,更郁闷的是只有一个ctrl,在shell里基本左边的键+ctrl都无法轻松按下 ...
2018-10-08 17:26:51
2347
1
原创 string allocator
之前客户报内存频繁malloc, free 用了内存池重载class new,但是string使用没搞定allocator,导致使用了char数组workaround, 最近发现很简单 typedef std::basic_string<char, std::char_traits<char>, mlallocator<char>> mlstring; 只...
2018-09-28 18:38:16
330
原创 a starting job is Waiting for Network to be configured when start 18.04 ubuntu server version
/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service add --timeout 5 after ExecStart line
2018-09-27 13:00:42
2384
原创 vim syntastic
vim 不需插件管理器,像非常规不用smart pointer一样,不能了解plugin 不用ycm,繁琐又慢而且nonsense太多,不用自动生成tags,慢 cscope+ctags+eclim+omni够用的 syntastic checker "nmap <leader>S :SyntasticCheck<CR> "set g:syntastic_cpp_...
2018-09-21 14:18:44
1614
原创 my astylerc
# this line is a comment --style=allman # this is a line-end comment # long options can be written without the preceding '--' #indent-switches # cannot do this on the command line # short opt...
2018-09-21 14:06:33
379
原创 force to check return value
#ifndef NDEBUG #include <assert.h> template <class T> class CheckReturnML { public: CheckReturnML(const T& value) : value(value), check(true){} ~CheckReturnML() ...
2018-09-18 14:01:43
147
原创 quick read files into buffer
testbed 经常处理nv21文件,需简单no interrupt读文件 snippet fr unique_ptr<unsigned char[]> p = [](const char* path) { using uchar = unsigne...
2018-09-18 10:12:13
90
原创 打印结构体
某晚,log,需打印一个结构体,很烦,vim的tab不停的选择成员变量,android下又只能用%来定义输出格式 snippet asp #include <string> #include <sstream> inline void args_string(std::ostringstream&) {} template<typename T, typ...
2018-09-14 17:40:51
2858
原创 打印函数调用时间
raii可以实现,通过new delete控制调用前后,很懒,只想加几个字符,不想换行 snippet mlt #include <sys/time.h> #define MLLOG printf #ifndef MLLOG #error "please define MLLOG" #endif struct MLT{ MLT(struct timeval sta...
2018-09-14 17:35:53
549
原创 动态库符号冲突的一个解决办法
之前去某公司面试讨论到如果两个so里有符号冲突了怎么办,我想指定用哪个而不是先加载哪个库用哪个库里的符号 之前是android 某项目用定制库和系统库有冲突 刚看qcom代码发现可以用dlopen处理这个问题 gligc dl-sym.c: { /* Search the scope of the given object. */ st
2017-09-08 15:27:24
1865
原创 auto 和shared_ptr
真正的程序员对自己代码的每个字节都了如指掌 auto在某些情况下会让大脑缺氧 而shared_ptr让自己不想去掌握对象的生命 每个好的东西能解放劳动力,都有潜在的威胁 shared_ptr也有永远释放不掉的情况,但是它不会导致crash 到处new对象导致内存的频繁分配释放,当客户提出为什么老是分配释放大量的小内存时,没法给出合理的解释 最后用内存池重载new躲过了解释,但是
2017-06-27 17:58:09
201
原创 禁止一个接口有两种用处
一般过程中,很少会一个接口有两种用处 有时为了偷懒或者smart,使用了接口的副作用,可能会导致问题,而一般根据接口的含义很难发现还有其它地方调用 项目中传输数据有队列,外部获取队列有个接口getdata,出现特殊情况回去flush队列。当时为了smart,就调用了getdata来丢弃前面的数据 项目后期,在getdata时需判断audio video ts的对应情况,加了逻
2017-06-27 17:38:28
204
原创 mpmc bounded queue and thread task stolen, simple
#include "mpmc_bounded_q.h" #include #include #include using namespace std; using mpmcQ = mpmc_bounded_queue; mpmcQ q(1024); std::atomic empty; std::atomic ful
2017-06-21 18:25:10
590
原创 一个内存jpeg解码的work around
项目需要,需解码内存jpeg 第一想到了turbojpeg,原生支持,ubuntu下代码已经有了,改了改,测试可以正常解码成rgb24,经libyuv转rgb32 到nv21 好,之前编的有android turbojpeg,java和jni都写好了,集成测试,竟然图像全乱,日 调了半天,dump数据还是老样子 没办法,android.mk把ubuntu下的testbed编译成execut
2017-05-09 17:20:16
578
winmerge 2进制插件
2016-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人