• ;=========================================
    ; NAME: 2410INIT.S
    ; DESC: C start up codes...

  • [ZT]typedef

    2009-02-22

    Tag:C_C++
    原文地址:http://www.winyes.com/Article/Program/CYY/TCJC/article_351.html




    讨论一下typedef,typedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式:

    typedef...
  • [ZT]磁盘阵列技术

    2008-11-23

    Tag:HardWaRE
    磁盘阵列技术
    由磁盘阵列角度来看,磁盘阵列的规格最重要就在速度,也就是CPU 的种类。我们知道SCSI 的演变是由SCSI 2 (Narrow, 8 bits, 10MB/s), SCSI 3 (Wide, 16bits, 20MB/s), Ultra Wide (16bits, 40MB/s),Ultra 2 (Ultra Ultra Wide, 80MB/s), Ultra 3 (Ultra Ultra Ultra Wide, 160MB/s),在由SCSI 到Serial I/O,也...
  • [ZT]程序中的堆和栈

    2007-07-09

    Tag:C_C++
    From  spaces一个由c/C++编译的程序占用的内存分为以下几个部分
    1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
    2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能...
  • [转载]Diff命令

    2007-03-26

    Tag:Linux

    Diff命令

      该命令的功能为逐行比较两个文本文件,列出其不同之处。它比comm命令完成更复杂的检查。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

  • [转载]周立功

    2007-03-24

    Tag:
    周立功是谁?周立功是一家广州公司的老总,公司名字就叫周立功。同时他著书多部,成为高校教材,也是上海某大学的名誉教授。
  • [软件][安全]Outpost

    2007-02-20

    Tag:
    Outpost + Cisco VPN Client 连接不成功,还会造成假死。
  • FIR FAQ

    2007-01-11

    Tag:FIR DSP
    1.1 什么是FIR滤波器?
    FIR滤波器是在数字信号处理(DSP)中经常使用的两种基本的滤波器之一,另一个为IIR滤波器.
  • 转载自月光博客 [ http://www.williamlong.info/ ]

      本文主要讲的是工作方法的一个重要内容—“时间管理”,并且介绍了一个使用Google个性化主页来进行时间管理的简易方法。前一阵我们公司的相关时间管理的培训给了我很大启发,促使我将这个好观念介绍给更多的人,同时结合我自己使用的Google工具来实现时间管理的方法,如果你想改善自己的工作效率,那么请继续往下看。

  • 鸡毛蒜皮之一:成本节约
    鸡毛蒜皮之二:低功耗设计
    鸡毛蒜皮之三:系统效率
    鸡毛蒜皮之四:信号完整性
    鸡毛蒜皮之五:可靠性设计
  • 平时在创建缩略图时,经常用到 ImageMagick 中的 convert 程序。不过,仅限于创建单张图片的缩略图。
  • 在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,例如:4’h04’h1等。这种显示形式不是很直观,但我们可以使用ModelSim提供的命令将状态机变量以“文本”形式的参数名显示,从而有利于调试。
    
    						
  • FluteD2 通过连接到计算机并口的JTAG仿真电缆,对ARM应用板上的FLASH进行烧写,烧写速度较慢,大约每分钟10K字节。本软件需要配置两个文件。
    1。BSDL文件。确认你的CPU型号,从该公司网上下载,一般以BSD为扩展名。
    可能需要一些改动,FluteD2中含有S3C44B0X.BSD就是从三星网上下载,
    经过少许改动得到的。

  • 领会主要技术指标——带宽、采样率及记录长度——的言外之意,深入分析那些影响你设计效率甚至有效性的细微差别和不大引人注意的特性。

  • 转载自Fish-Bowl

    普通的动态内存分配只能分配一维的数组:
    例如:
    #define ARRAY_SIZE    1024 ; 
    unsigned char * pa = NULL ; 
    pa = (unsigned char *)malloc(ARRAY_SIZE) ;
    然后就可以pa[1], pa[0] ...当成一维数组操作了。
    释放的时候:
    free(pa) ; 

    但是,很多情况下,我们需要动态的二维数组,乃至多维数组,例如矩阵计算,有限元分析,三维实体建模等等。那么如何利用普通的c语言,实现多维数组呐?

    动态二维数组:
    #define ARRAY_SIZE     20*20
    //这里是20x20的矩阵
    unsigned char (*matrix_1)[20] ;
    matrix_1 = (unsigned char (*)[20])malloc(ARRAY_SIZE) ; 
    然后就可以matrix_1[0][0], matrix_1[0][1]。。。这样使用了。释放方式同一维数组。

    动态的三维数组:
    #define ARRAY_SIZE     5*32*32
    //定义了5桢,每桢是32x32的矩阵 
    unsigned char (*frame)[32][32] ;
    frame = (unsigned char (*)[32][32])malloc(ARRAY_SIZE) ; 
    然后就可以frame[0][0][0]之类的直接使用了,释放方法同上。

    这样可以用普通的指针,利用可扩展的宏标记,实现对矩阵算法的封装了。