- 浏览: 105914 次
- 性别:
- 来自: 杭州
最新评论
文章列表
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。
#include<stdio.h>
int refact(int n){
if(n == 1)
return 1;
else
- 2015-03-01 14:04
- 浏览 312
- 评论(0)
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。
#include<stdio.h>
int fact_for(int n)
{
int i;
int result = 1;
for(i = 2; i <= n; i++
- 2015-03-01 14:03
- 浏览 522
- 评论(0)
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。
#include<stdio.h>
int fact_for(int n)
{
int i;
int result = 1;
for(i = 2; i <= n; i++
- 2015-03-01 14:03
- 浏览 786
- 评论(0)
虽然easymock中提供了大量的方法来进行参数匹配,但是对于一些特殊场合比如参数是复杂对象而又不能简单的通过equals()方法来比较,这些现有的参数匹配器就无能为力了。easymock为此提供了IArgumentMatcher 接口来让我们实现自定义的参数匹配器。
我们还是用例子来说话:
要测试的接口
- 2015-03-01 14:02
- 浏览 808
- 评论(0)
虽然easymock中提供了大量的方法来进行参数匹配,但是对于一些特殊场合比如参数是复杂对象而又不能简单的通过equals()方法来比较,这些现有的参数匹配器就无能为力了。easymock为此提供了IArgumentMatcher 接口来让我们实现自定义的参数匹配器。
我们还是用例子来说话:
要测试的接口
- 2015-03-01 14:02
- 浏览 351
- 评论(0)
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。
#include<stdio.h>
int main(){
int a[] = {3, 0, 5, 1, 4, 6, 2,
- 2015-03-01 14:01
- 浏览 814
- 评论(0)
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。
#include<stdio.h>
int main(){
int a[] = {3, 0, 5, 1, 4, 6, 2,
- 2015-03-01 14:01
- 浏览 2539
- 评论(0)
以下代码示范交换a和b两个整数的函数,编译环境Ubuntu14.04(32位)
假如要实现以下C代码
#include <stdio.h>
void swap(int *xp, int *yp)
{
int x = *xp;
int y = *
- 2015-03-01 14:00
- 浏览 291
- 评论(0)
以下代码示范交换a和b两个整数的函数,编译环境Ubuntu14.04(32位)
假如要实现以下C代码
#include <stdio.h>
void swap(int *xp, int *yp)
{
int x = *xp;
int y = *
- 2015-03-01 14:00
- 浏览 377
- 评论(0)
(转)详解汇编系统调用过程(以printf为例)
本文以printf为例,详细解析一个简单的printf调用里头,系统究竟做了什么,各寄存器究竟如何变化。
环境:
linux + gnu as assembler + ld linker
如何在汇编调用glibc的函数?其实也很简单, ...
- 2015-03-01 13:57
- 浏览 367
- 评论(0)
(转)详解汇编系统调用过程(以printf为例)
本文以printf为例,详细解析一个简单的printf调用里头,系统究竟做了什么,各寄存器究竟如何变化。
环境:
linux + gnu as assembler + ld linker
如何在汇编调用glibc的函数?其实也很简单, ...
- 2015-03-01 13:57
- 浏览 514
- 评论(0)
1.非阻塞算法
非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。使用底层的原子化机器指令取代锁,比如比较并交换(CAS,compare-and-swap).
2.悲观技术
独占锁是一种悲观的技术.它假设最坏的情况发生(如果不加锁,其它线程会破坏对象状态),即使没有发生最坏的情况,仍然用锁保护对象状态.
3.乐观技术
依赖冲突监测.先更新,如果监测发生冲突发生,则放弃更新后重试,否则更 ...
- 2015-03-01 13:52
- 浏览 355
- 评论(0)
1.非阻塞算法
非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。使用底层的原子化机器指令取代锁,比如比较并交换(CAS,compare-and-swap).
2.悲观技术
独占锁是一种悲观的技术.它假设最坏的情况发生(如果不加锁,其它线程会破坏对象状态),即使没有发生最坏的情况,仍然用锁保护对象状态.
3.乐观技术
依赖冲突监测.先更新,如果监测发生冲突发生,则放弃更新后重试,否则更 ...
- 2015-03-01 13:52
- 浏览 426
- 评论(0)
选择有意义的名字
做有意义的区分
使用读的出来的名词
避免误导
添加有意义的语境
使用可搜索的名称
单字母名称仅用于短方法中的本地变量.名称长短应与其作用域大小相对应.
避免使用编码
Java程序员不需要类型编码,不需要匈牙利语标记法.
不需要m_前缀或者后缀.
不需要类似I修饰接口,比如IShapeFactory.
避免思维映射
聪明程序员和专业程序员的区别在于,专业程序员了解,明确是王道.
类名
类名应该是名词.
方法名
方法名应该是动词或者动名词.
命名一致性
给每个概念选一个词,并且始终如一.
使用解决方案领域名称
选择该专业领域且 ...
- 2015-02-28 11:24
- 浏览 245
- 评论(0)
选择有意义的名字
做有意义的区分
使用读的出来的名词
避免误导
添加有意义的语境
使用可搜索的名称
单字母名称仅用于短方法中的本地变量.名称长短应与其作用域大小相对应.
避免使用编码
Java程序员不需要类型编码,不需要匈牙利语标记法.
不需要m_前缀或者后缀.
不需要类似I修饰接口,比如IShapeFactory.
避免思维映射
聪明程序员和专业程序员的区别在于,专业程序员了解,明确是王道.
类名
类名应该是名词.
方法名
方法名应该是动词或者动名词.
命名一致性
给每个概念选一个词,并且始终如一.
使用解决方案领域名称
选择该专业领域且 ...
- 2015-02-28 11:24
- 浏览 218
- 评论(0)