2009年06月22日

原创 对于三进制计算机逻辑运算方法的猜想

这件事主要源于CSDN上的这篇文章:莫斯科国立大学三进制计算机发展史 。阅读后就猜想对于三进制计算机的逻辑运算是如何处理的呢?阅读全文>

发表于 @ 2009年06月22日 00:25:00|评论(loading...)|举报|收藏

2009年05月31日

原创 关于GCC下使用内建的多媒体指令集(MMX、SSE)函数

在VC2005以上版本(包括2005)有非常丰富的针对x86架构处理器指令集的内建函数,包括典型的BFS、RDTSC、以及MMX、3DNOW!(+)、SSE、SSE2。到VC2008以后又支持了SSE3、SSSE3、以及SSE4A、SSE4.1和SSE4.2。然而,当这些搬到GCC上时用起来就显得十分麻烦。阅读全文>

发表于 @ 2009年05月31日 00:31:00|评论(loading...)|举报|收藏

2009年01月02日

原创 微协作者线程具体实现

我曾经介绍过在基于多核操作系统中的一种可能被提供的服务——微线程(详见:http://blog.csdn.net/zenny_chen/archive/2008/07/14/2650389.aspx)。不过,基于其工作机制,我这里想对它的称呼作一下修改,改为“微协作者线程”(Micro Co-worker Thread,MCT)。阅读全文>

发表于 @ 2009年01月02日 23:49:00|评论(loading...)|举报|收藏

2008年08月05日

原创 C++多彩的运算符语义以及对引用的语义解析

熟悉C/C++编程语言的朋友都知道,在C/C++中对于有些运算符和关键字在不同场合会有不同的语义,有时甚至是截然不同。阅读全文>

发表于 @ 2008年08月05日 22:14:00|评论(loading...)|编辑|举报|收藏

2008年07月25日

原创 浅谈C/C++的类型迭代问题

众所周知,C/C++以及Java、C#等语言都属于强类型语言,在声明一个变量时总要带有有一个具体的类型。不过在基本类型的变化上,C/C++要丰富很多(具体情况下面会进行逐一介绍),而Java和C#中除了基本类型外,能进行迭代组合的就是数组种别了,这几个语言都能够基于数组的维数进行理论上的无穷迭代——比如:int a[][][][][]...[](Java和C#可以将[]放在变量标识符a的前面)。而C/C++之所以有非常丰富的类型,这要归功于(同时也是备受指责的)指针。实际上最本质的问题还是在于一个非常特殊的操作——取变量地址操作。阅读全文>

发表于 @ 2008年07月25日 00:44:00|评论(loading...)|编辑|举报|收藏

2008年07月14日

原创 多处理器/多核处理器的并行处理方法之——微线程

上面有两篇文章介绍了两类比较典型且简单的并行方法,并且也简单地介绍了它们的性能以及优缺点。这里将再一种介绍方法:通过微线程来同步多个相互协作的并行任务。阅读全文>

发表于 @ 2008年07月14日 18:56:00|评论(loading...)|编辑|举报|收藏

2008年06月04日

原创 C/C++中取地址符&的语义

本文主要想深入介绍取地址符&的语义。阅读全文>

发表于 @ 2008年06月04日 19:41:00|评论(loading...)|举报|收藏

原创 Java内部类使用概述

主要介绍Java内部类的几种方式阅读全文>

发表于 @ 2008年06月04日 19:14:00|评论(loading...)|编辑|举报|收藏

2008年04月12日

原创 C++中基本数据类型的较特别形式的初始化

这个方式有利于模板的使用,发挥泛型编程的通用型。从以上例子还可以看出,如果模版参数是泛型的话,实际上就是将具体的类型作为typedef进行处理。 比如下面代码中的Test,在实例化模版时就是:typedef int* T; 阅读全文>

发表于 @ 2008年04月12日 21:38:00|评论(loading...)|编辑|举报|收藏

2008年03月23日

原创 char**为何无法转为const char**?——对const的进一步探讨

在CSDN上的论坛中,我已经发表过两篇关于const的用法以及修饰方式。这里想更深入地探究const的本质问题。 阅读全文>

发表于 @ 2008年03月23日 12:47:00|评论(loading...)|编辑|举报|收藏

2008年03月04日

原创 Intel C++ Compiler(Ver10.1.020)试用后感想

Intel推出的C/C++编译器,功能很齐全,附带有很棒的调试器。我是将它嵌入在Visual Studio 2005.NET中进行使用的。由于是Intel的编译器,因此它自然含有非常丰富的编译优化选项,支持各种高级指令集以及SIMD等特性。同时,它也支持OPENMP。当然,这个微软的VC++编译器也支持。不过最让我感到兴奋的还是Intel编译器几乎完整地支持C99标准,这个是VC9.0也没有支持的功能。另外还有一个选项更让人兴奋——Enable C++0x Support。我不想再多说什么了。阅读全文>

发表于 @ 2008年03月04日 21:41:00|评论(loading...)|编辑|举报|收藏

2008年02月14日

原创 计算一个数组所有元素之和(方法总结)

上面两个帖子均以计算一个给定数组元素之和的例子 来展示多核处理器(多处理器)并行计算的方法。由于只是演示,在基于实际操作系统的场合下,这两种方法都需要有一定的变更。阅读全文>

发表于 @ 2008年02月14日 21:33:00|评论(loading...)|编辑|举报|收藏

原创 计算一个数组所有元素之和(无锁方法)

上一贴介绍了比较常见的基于旋锁的并行计算方法。这里将介绍另一种无锁的并行计算方法。两者各有利弊。同样是计算一个数组,在Blackfin561双核DSP中,可以利用两个核对一个数组进行同时计算,其中一个核计算该数组的前50个元素,另一个核计算该数组的后50个元素。阅读全文>

发表于 @ 2008年02月14日 20:41:00|评论(loading...)|编辑|举报|收藏

2008年02月13日

原创 计算一个数组所有元素之和(基于多处理器的并行开发讨论)

我早些时候上传了 《双核协作完成搜索β》(详细可见我的资源),这个方法是无锁并行计算方法,下面介绍一种更长见的带锁的多处理器计算方法。这个方法若使用像OpenMP这样的编译工具的话会使得代码更好看,更自然一些。阅读全文>

发表于 @ 2008年02月13日 23:47:00|评论(loading...)|编辑|举报|收藏

2008年01月03日

原创 关于较复杂表达式声明的解析

前一阵子看到论坛中C语言版本有这么个题目: char (*(*x())[])() char (*(*x[3])())[5] 解析上面两个变量(或函数)的类型。 以下是我的回复: 阅读全文>

发表于 @ 2008年01月03日 19:47:00|评论(loading...)|编辑|举报|收藏

Csdn Blog version 3.1a
Copyright © 仲裁者