微软宣布异构计算语言C++ AMP 冲击OpenCL

 

OpenCL作为一种开放的并行加速计算标准,已经得到了AMD、Intel、NVIDIA等芯片业巨头和大量行业厂商的支持,但唯独缺少了微软。就在AMD Fusion开发者峰会上,微软终于拿出了自己的反击武器:“C++ AMP”,其中AMP三个字母是“accelerated massive parallelism”的缩写,也就是加速大规模并行的意思。 Continue reading

c语言与“烫烫烫烫”

ASK-1:新手调试代码的时候,经常看到一大串的这个: 烫烫烫烫烫烫烫烫烫烫烫烫? 这是什么意思?

Quicl帮你回答:这一大串的十六进制就是0xCCCCCCCCCC,是windows的int 3调试中断。在Debug时,Windows将局部内存初始化为int 3命令,这样发生非法调用时就会进入中断。

ASK-2:那怎样解决这个问题呢?

Quicl帮你回答:一般来说你是在输出一个数组,看看你的指针是否越界(白:也就是看看你的For循环跳出条件对与否等等)

祝大家身体健康、学习进步、工作愉快。

Quicl’sBlog —— 关注ACM/编程,小涉Linux以及无线网络

c语言的重要性

很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢?

第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。

第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。

第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl…哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?

Continue reading

书写规范的c语言(进阶篇)

许多时候初学者会看到高手写的程序感觉非常的专业,但自己就是说不出来哪里专业。对比两人的程序感觉不一样就是说不出来,为此quicl收集了一种非常系统的方法,让你的程序看起来也是专业的水准。很多时候代码规范就是专业,让我们一起来学习吧~~

1.1符号命名规则

1.1.1符号名包括模块名、常量名、标号名、子程序名等。这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解。命名采用匈牙利命名法。规则如下:

       (1)所有宏定义、枚举常数和const变量,用大写字母命名。在复合词里用下划线隔开每个词。

       (2)复合词中每个单词的第一个字母大写。除了规则5.1.1.1以外,避免使用下划线。

       (3)类、类型定义和枚举型名的第一个字母大写。

       (4)函数名是复合词的,第一个词采用全部小写,随后每个单词采用第一个字母大写,其它字母小写方式;如果是单个词的,采用全部小写方式。

       (5)循环变量可采用i, j, k等,不受上述规则限制。

       (6) 类的成员变量应采用m_开头。

       (7) 全局变量词头为g_ 。

       (8) 临时变量词头为tmp_ 。

       (9) 对结构体内的变量命名, 遵循变量的具体含义命名原则

       (10)用小写字母的前缀表示变量的类型,前缀的下一个字母用大写。  

Continue reading