- 博客(225)
- 资源 (6)
- 收藏
- 关注
原创 Android+Termux搭建ssh服务器
1. 安装Termux2. 在Termux终端执行:$ pkg install openssh3. 编辑 /files/usr/etc/sshd_configPort 22Protocol 2PasswordAuthentication yes4. 查询当前用户名(例:u0_a55):$ whoami5. 修改当前用户登录密码(例:123456):$ passwd6. 启动sshd服务: $ sshd7. 查看服务运行状态:$ netstat -tlp| grep ss.
2021-11-24 11:50:32
3480
原创 关于重载全局new/delete 的一些问题
重载全局new/delete的做法,网上已经可以搜到很多,不再赘述。p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ba2da2}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000}p.p3 {margin:
2017-09-14 16:12:16
541
转载 c语言小代码——对齐
c语言小代码——对齐一、对齐用于对齐:向上对齐和向下对齐:#define ROUND_UP(x, align) (((int) (x) + (align - 1)) & ~(align - 1))#define ROUND_DOWN(x, align) ((int)(x) & ~(align - 1))用于检查是否已经对齐:#define ALIGNED
2017-08-23 14:09:05
1779
1
原创 Android JNI对象与Java对象的绑定
在Android 开发过程中,经常会用到JNI,要么就是Java调用JNI,要么就是JNI回调Java。一种习惯的做法是把在Java和JNI 都生成相同名字的Class,并将它们互相绑定,这样双方互相调用也非常方便。
2017-08-07 09:58:57
1303
原创 C++类函数深入理解
最近在做Android 播放器的项目,native 需要用到C++,遇到一个有意思的问题,先mark下。先看一段代码:class A{public: int v; public: A():v(0){} void print() const { printf("%s enter. this=%p\n", __func__, thi
2017-08-06 08:24:49
892
转载 LINUX C中如何定义可变参数的宏
转载:http://darksun.blog.51cto.com/3874064/1379569一般在调试打印Debug信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____VA_ARGS__ 将 "..." 传递给宏 . 如
2016-12-14 09:34:33
516
转载 OpenGL ES 2.0坐标系设定与顶点转换
原文:http://blog.youkuaiyun.com/yu0089/article/details/18600903
2014-11-22 07:23:35
5984
转载 绘制三角形序列的三种方式 :GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN
原文: http://hi.baidu.com/wudu_ya/item/0371d3943d5797a5cc80e54b绘制三角形序列的三种方式 :GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_T
2014-11-22 06:56:33
7647
1
原创 获得本地IP的三种方法
方法1int up_sock_localIP(char** ipList, int num){int i = 0;const char* ip = NULL;struct hostent* h = NULL;char hostname[128] = {0};if(gethostname(hostname, sizeof(hostname)) != 0 || (h =
2014-09-11 17:57:32
1549
原创 环形缓冲区(ring buffer),环形队列(ring queue) 原理
1. 序言环形缓冲区(ring buffer),环形队列(ring queue) 多用于2个线程之间传递数据,是标准的先入先出(FIFO)模型。一般来说,对于多线程共享数据,需要使用mutex来同步,这样共享数据才不至于发生不可预测的修改/读取,然而,mutex的使用也带来了额外的系统开销,ring buffer/queue 的引入,就是为了有效地解决这个问题,因其特殊的结构及算法
2014-02-28 17:43:40
20295
转载 [转] 一个fork的面试题
原文: http://coolshell.cn/articles/7965.html前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?12345
2013-06-14 15:39:03
921
转载 NPAPI & NPRuntime 簡介 Scriptable Plugin
原文:http://www.eifr.com/article.php?id=1273本篇文章在探討 NPAPI 與 NPRuntime 的設計,並非 Plugin 教學。當時因為看到公司內部寫出來的 Plugin 問題不少,而且網路上說明太少,特地寫來給大家看的~故本篇沒有詳細介紹每個 API 的使用與功能,請見諒囉!This article was writt
2013-03-21 17:12:02
792
转载 解密module_init
在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况下,module_init定义如下:#define module_init(x) __initcall(x);因为#define __ini
2013-02-18 18:28:03
398
转载 EPOLL学习
原文:http://hi.baidu.com/ccqudqngrebcrzd/item/2cf0923f10b2e84f023edc4e在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。一、epoll的接口epoll的接口非常简单,一共就三个函数: 1 int epoll_create(int
2013-02-17 14:32:30
369
转载 六款常用的linux C/C++ IDE
原文:http://www.lupaworld.com/article-210675-1.html一、AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴趣无关的代码。配置C/C++环境请看这
2013-01-03 21:58:11
513
转载 用wubi安装的ubuntu空间不足解决方案
原文:http://zaazbb.blog.163.com/blog/static/16897855920110159021691/许多朋友都开始尝试Ubuntu系统。但由于初次接触这个操作系统,所以不太可能用它完全代替硬盘中已经存在的Windows。所以担心安装它会破 坏原有的Windows,于是往往会尝试用Wubi的安装Ubuntu。这样,Ubuntu运行在一个封装的磁盘空间中,完
2012-09-26 18:28:42
1296
转载 通过一段汇编,加深对寄存器ESP和EBP的理解
原文: http://blog.youkuaiyun.com/zsJum/article/details/6117043一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码;假
2012-09-18 11:17:34
522
原创 总结vmplayer bridge联网的问题
VMPlayer没有内置配置network的工具,它包含在network.cab包里面,可能通过D:> VMware-player-4.0.1-528992.exe /e .\output找到network.cab,解压之后可以找到vmnetcfg.exe,直接双击会报dll找不到,将vmnetcfg.exe拷贝到vmplayer安装目录下。如:c:\program files\vmw
2012-07-06 16:31:42
3351
转载 uafxcwd.lib(dllmodul.obj) : error LNK2005: DllMain 已经在 中定义
原文:http://hi.baidu.com/laosuis/blog/item/6a881d3ccacbfbe93d6d97bc.html如果出现这种错误:“uafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in main.obj ”或者“mfcs42ud.lib(dllmodul.obj)
2012-05-21 15:00:03
2931
1
转载 【转】 firefox插件开发和调试
原文:http://huandu.me/2010/02/11/595/Firefox插件(plugins)开发实用指南Firefox插件可实现强大功能,但其中麻烦事情不少。写这个实用指南首先是为了方便自己记忆,免得以后再次栽倒一些坑里面,如果能帮助其他人,则是更好。这个指南不是为了手把手教读者开发插件,而是作为一个FAQ,解决各种诡异问题。Firefox拥有众多的扩展(
2012-02-16 10:19:39
8549
转载 转:架构设计:生产者/消费者模式[3]:环形缓冲区
原文:http://blog.youkuaiyun.com/program_think/article/details/4040068前一个帖子提及了队列缓冲区可能存在的性能问题及解决方法:环形缓冲区。今天就专门来描述一下这个话题。 为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常频繁并且确实产生了明显的影响,你才应该考虑环形缓冲区的使用。否则的话,还是
2011-11-28 16:41:09
884
转载 转:MSN 协议分析
原文:http://hi.baidu.com/todaygoodhujun/blog/item/4e84cc1382121c23dd540118.htmlMSN 协议分析一、概要介绍 msn messenger通常使用端口1863进行通信(在实际中用sniff跟踪发现msn通信都是用1863端口进行通信的)。在msn messenger工作中,本机客户端与三种服务器通过
2011-11-11 13:50:50
666
原创 [转] GCC 中文手册
原文:http://blog.youkuaiyun.com/ruixj/article/details/1693953使用gcc -v --help可以列出gcc的所有可选项Reading specs from /usr/lib/gcc/x86_64-redhat-lin
2011-08-24 13:59:57
5553
原创 Linux input子系统 (2)
原文:http://blog.youkuaiyun.com/guoshaobei/article/details/5792635Linux input子系统一个很重要的特性是它提供了 event interface。它通过字符设备节点对用户空间导出了原生event,允许用户程
2011-08-17 18:55:53
3439
转载 【转】用汇编实现原子操作
原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中, 能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源 互斥
2011-07-01 13:19:00
4167
转载 【转】gcc内嵌汇编简介
在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 1、简单的内嵌汇编 例: __asm__ __volatile__("hlt"); "__asm__"表示后面的代码为内嵌汇编,"asm"是"__
2011-07-01 12:17:00
488
转载 【转】 AT&T汇编和GCC 潜入汇编、x86汇编和vc嵌入汇编
关于AT&T汇编和intel汇编之间的区别: 1、AT&T有更加复杂的对立即数、变量($)和寄存器(%)的写法。而intel直接使用。 2、AT&T源操作数、目的操作数与intel相反。 3、寻址方式AT&T采用段地址:(偏移,基址,因子)而inel直接是段地址:[基址*因子+偏移] 4、代码端标识AT&T为.text而intel是.coder gcc嵌入汇编和V
2011-07-01 12:11:00
821
转载 【转】linux:write调用的原子性
原文 : http://hi.baidu.com/tim_bi/blog/item/63728b8b613f33dcfd1f10dd.html UNIX环境高级编程的3.11节讲述了原子操作,其中有一种情形是在文件尾端添加数据。文中说,如果多个进程都需要将数据添加到某一文件,那么为了保证定位和写数据这两步是一个原子操作,需要在打开文件时设置O_APPEND标志,看到这里我们就会想,虽然
2011-06-30 18:33:00
745
转载 【转】神奇的xx宏
转载时请注明出处和作者联系方式作者联系方式:李先静 前段时间研究lcc,看见token.h里有这样一些代码:xx(FLOAT, 1, 0, 0, 0, CHAR, "float")xx(DOUBLE, 2, 0, 0, 0, CHAR, "double")xx(CHAR, 3, 0, 0, 0,
2011-06-30 11:57:00
722
原创 gdb 环境配置
(gdb) cContinuing.Error while mapping shared library sections:/work/install/bluetooth//lib/libobexftp.so.0: No such file or directory.Error while mapping shared library sections:/work/install/blueto
2011-06-28 16:55:00
5170
转载 【转】Linux的主设备号和次设备号
原文 : http://liang00fang00yy3.blog.163.com/blog/static/40335284200981932510913/ 分配并注册主次设备号 设备号是在驱动module中分配并注册的,也就是说,驱动module拥有这个设备号(我的理解),而/dev目录下的设备文件是根据这个设备号创建的,因此,当访问/dev目录下的设备文件时,驱动module
2011-06-23 16:05:00
701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人