在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态。通过搜索获得两种方法。 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy)。在indy misc中将idfreeantifreeze放入程序中, 将OnlyWhenIdle ...
以AtomicLong的compareAndSet方法举例。先说结论:如果CPU支持,则基于CPU指令(CMPXCHG8)实现;否则使用ObjectLocker锁实现。 分析过程如下: 该方法在jdk中源代码如下: unsafe是sun.misc.Unsafe的一个实例,Unsafe类在jdk中没有 ...
分类:
编程语言 时间:
2016-06-28 18:08:46
阅读次数:
406
Ashmem是安卓在linux基础上添加的驱动模块,就是说安卓有linux没有的功能。 Ashmem模块在内核层面上实现,在运行时库和应用程序框架层提供了访问接口。在运行时库层提供的是C++接口,在应用框架层提供的是java接口。 首先从驱动模块开始分析起,驱动模块加载之后首先进行misc_regi ...
分类:
移动开发 时间:
2016-06-22 01:43:23
阅读次数:
270
1.问题描述 找不到包 sun.misc.BASE64Encoder 2. 解决方案 只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了。 ...
分类:
数据库 时间:
2016-06-18 18:22:02
阅读次数:
157
尽管linux驱动直接与硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。 由于misc_register函数只能建立主设备号为10的设备文件,如果想建立其他主设备号的设备文件,就需要使用cdev_init、register_chrdev_region、cd ...
分类:
其他好文 时间:
2016-06-06 20:39:43
阅读次数:
192
编写一个基本的Linux驱动的步骤: 第一步:建立Linux驱动骨架(装载和卸载Linux驱动) 驱动初始化:module_init 驱动退出:module_exit 第二步:注册和注销设备文件 建立设备文件:函数misc_register() 移除设备文件:函数misc_deregister() ...
分类:
其他好文 时间:
2016-06-06 13:38:46
阅读次数:
143
本章是第一个linux驱动程序,统计单词个数。 编写linux驱动程序的步骤,步骤如下: 1建立linux驱动骨架。 Module_init 和module_exit宏制定 2注册和注销设备文件 Misc_register mics_deregister 3.指定驱动相关信息 Module_auth ...
分类:
其他好文 时间:
2016-06-06 13:27:58
阅读次数:
121
在本章节中,作者通过对实例控制LED来讲述了安卓的驱动开发。与上一章节不同的是,上一章在注册和卸载设备文件的时候使用的是函数misc_register,而在LED中使用的是cdev_init等函数。两者的差别是:前者只能建立主设备号为10的设备文件,使用不够灵活,而后者课建立其它设备号的设备文件,而 ...
分类:
移动开发 时间:
2016-06-06 11:56:47
阅读次数:
283
第一个Linux驱动查询:统计单词个数 编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动) 第二步:注册和注销设备文件 可以分别使用misc_register和misc_deregister函数创建和移除设备文件。 第三步:指定与驱动相关的信息 第四步:指回调函 ...
分类:
系统相关 时间:
2016-06-06 10:33:36
阅读次数:
175
编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动)。 Linux驱动程序一般都需要指定module_init和module_exit,因此包含这两个函数及指定这两个函数的两个宏的C程序文件也可看作是Linux骨架。 第二步:注册和注销设备文件 分别使用misc_ ...
分类:
其他好文 时间:
2016-06-05 23:06:10
阅读次数:
181