Android中Service的四种使用方式

Service是Android中的四大组件之一,用于在后台进行长时间作业,不提供用户界面。Service可以直接由其他的应用程序组件启动并在后台运行,也可以与其他组件绑定来实现进程间通信。本文介绍了创建Service的基本方法,并通过实例描述了Service的四种使用方式,包括Service的启动和绑定,以及IntentService和AIDL Service的使用。 0. 创建Service  …
Read more

Makefile中=与:=的区别

在GNU make中,可以使用“=”和“:=”来定义变量,二者的区别主要在于展开时机。 1. 使用“:=”定义变量   使用“:=”定义的变量称为“简单展开变量(simply expanded variables)”,顾名思义,“:=”右边的表达式如果包含对变量的引用,则这些对变量的引用会直接展开,得到一个确切的值,并赋给“:=”左边的变量。这种定义和赋值的形式类似于C语言中对变量的赋值,举例来说…
Read more

使用ISERDES实现高速数据输入接口

  ISERDES是Virtex-6系列FPGA提供的高级SelectIO资源,是专用的解串器,可以实现高速的串并转换,大大降低了设计高速解串器所带来的逻辑和时序的复杂度。 ISERDES也支持SDR和DDR两种模式。ISERDES的结构框图如图1所示。     图1中, D是ISERDES的高速串行数据输入端口,此端口可与所有Virtex-6的I/O资源配合工作,以满足所需的 I/O …
Read more

使用OSERDES实现高速数据输出接口

  OSERDES是Virtex-6系列FPGA提供的高级SelectIO资源,是专用的串行器,可以实现高速的并串转换。每个OSERDES 模块包括一个用于数据和三态控制的串行器。数据和三态串行器都可以配置成 SDR(Single Data Rate,单倍数据速率)和 DDR 模式。单个OSERDES数据串行化可达 6:1,三态串行化可达 4:1;如使用两个OSERDES进行宽度扩展,则可达到10…
Read more

使用Chrome的审查元素功能自定义WordPress主题

  WordPress具有大量的主题模板可供选择,这些主题一般都会给出一些设置界面,用于对主题进行自定义。除此之外,结合Chrome浏览器的审查元素功能,可以进一步对网页进行自定义,获得独一无二的显示效果。   举例来说,对于如图1所示的页面,页面上面的包含标题和导航栏的页眉背景是白色的,比较单调,希望给它加上透明的效果。     使用Chrome浏览器打开网页,在网页上点击右键,选择“…
Read more

利用校园网IPv6流量上网方法简述

  在校园网对IPv4按流量收费而对IPv6流量免费的环境下,挂着上网账号开着uTorrent一晚上回到解放前不再是梦想。其实仅使用IPv6流量完全可以应对日常的网络使用,本文列举了使用IPV6流量浏览网页与下载资源的若干方法,而且速度不慢。 1. 使用GoAgent作为IPv6代理   GoAgent相关介绍可以参考Wiki,其官方站点在这里。GoAgent支持IPv6,在提供IPv6的校园网中…
Read more

VHDL中信号与变量的差异

  在VHDL中,使用信号(signal)或变量(variable)可以实现动态数值的传递,二者功能虽然类似,但在实现方式上却有着很大的区别。对于初学者,理解信号和变量的差异是十分重要的。 1. 信号(signal)的特点 信号是逻辑电路中的连接线,可以用于元件间和元件内部电路各单元间的连接。 信号使用“<=”符号赋值。 在顺序描述语句中,信号的赋值不是即时更新的。只有在相应的进程、函数或过…
Read more

整洁代码——提高代码可读性方法简述

  程序代码有双重目的,一是供机器执行,二是供程序员阅读。而代码的质量,往往体现在第二点,可读性是优秀代码的重要指标。在写代码时注意形成和保持代码的可读性,不仅有助于别人阅读,更有助于自己进一步的编写和完善。 《代码整洁之道》(Clean Code)一书提出了这样一种观念:“代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础”(Robert C. Marti…
Read more