C
小楠瓜饼
这个作者很懒,什么都没留下…
展开
-
C语言学习
漫谈C语言及如何学习C语言http://sunxiunan.com/?p=1661 云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发网络游戏服务器的程序员,云风是有理由写这样一篇文字,不过还是感觉谈的不够深入,C语言在业界使用的现状没有怎么描写,有些意犹未尽。在这里想比较系统的谈谈个人对C语言学习方式方法的理解。分别按照书籍、实验环境搭建转载 2012-08-23 00:40:34 · 2553 阅读 · 0 评论 -
C语言代码风格II
C语言程序各种各样的编码风格,我比较推崇的一种是K&R 书上的模式。下面是从《Unix Network Programming》上抄的一个样例,可以参看一下书写格式: 1 /* This is a C program templete. 2 */ 3 #include "unp.h" 4 5 int main(int argc, char **argv) 6 {转载 2012-10-09 09:39:53 · 824 阅读 · 0 评论 -
华为C语言编程规范(3)—注释
2-1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。/****转载 2012-10-09 10:08:37 · 3862 阅读 · 0 评论 -
华为C语言编程规范(9)—质量保证
8-1:在软件设计过程中构筑软件质量。8-2:代码质量保证优先原则(1)正确性,指程序要实现设计要求的功能。(2)稳定性、安全性,指程序稳定、可靠、安全。(3)可测试性,指程序要具有良好的可测试性。(4)规范/可读性,指程序书写风格、命名规则等要符合规范。(5)全局效率,指软件系统的整体效率。(6)局部效率,指某个模块/子模块/函数的本身效率。(7)个人表达方式转载 2012-10-09 10:13:20 · 1470 阅读 · 0 评论 -
VC++学习(1):Windows程序内部运行原理
Windows应用程序,操作系统,计算机硬件之间的相互关系 关于API:向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音。这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的。这里的机器人转载 2012-10-15 15:43:18 · 954 阅读 · 0 评论 -
API入门系列之五 -一个正儿八经的SDK程序
原创文章,转载请注明作者及出处。首发http://blog.csdn.net/beyondcodehttp://www.cnblogs.com/beyond-code/http://hi.baidu.com/beyondcode SDK编程群号:81543028 欢迎加入上一篇,讲了一个简单的SDK程序的多种版本的编写,弹出了一个窗口,显示了转载 2012-10-16 09:47:21 · 479 阅读 · 0 评论 -
API入门系列之六 -自己实现MessageBox
原创文章,转载请注明作者和出处 http://blog.csdn.net/beyondcodeSDK编程群号:81543028 欢迎加入 API入门系列文章的第六篇之自己动手实现MessageBox。我在第四篇文章:一个相当简单的SDK程序 中讲到了通过调用MessageBoxAPI函数来弹出一个对话框,那你有没有想过,我们一句简单的代码背后所隐转载 2012-10-16 10:51:51 · 946 阅读 · 0 评论 -
Win32与MFC,精华贴!!!值得拥有
Win32应用程序基础知识 一个Windows程序至少包含两个函数:WinMain和wndProc。每个程序都需要WinMain函数,因为它是程序的入口。另外一个函数是一段处理窗口消息的窗口程序(尽管窗口程序这个名字并不明朗,实际上它能处理任何与此程序相关的消息)。本文由http://blog.tianya.cn/blogger/post_read.asp?BlogID=89859&转载 2012-10-15 23:38:23 · 625 阅读 · 0 评论 -
API入门系列之一 -那‘烦人’的Windows数据类型
原创文章,转载请注明作者及出处。 首发http://blog.csdn.net/beyondcodehttp://www.cnblogs.com/beyond-code/http://hi.baidu.com/beyondcodeBaidu文章地址:http://hi.baidu.com/beyondcode/blog/item/09370f2452转载 2012-10-16 00:21:47 · 472 阅读 · 0 评论 -
API入门系列之二 -Unicode还是ASCII
原创文章,转载请注明作者及出处。首发http://blog.csdn.net/beyondcodehttp://www.cnblogs.com/beyond-code/http://hi.baidu.com/beyondcode今天,开始第二篇文章,这章我准备介绍一下Windows平台下编程中Unicode编码和ASCII编码的相关问题。不知转载 2012-10-16 00:26:05 · 546 阅读 · 0 评论 -
API入门系列之三 -那迷惑人的Windows字符和字符指针类型
原创文章,转载请注明作者及出处。首发http://blog.csdn.net/beyondcodehttp://www.cnblogs.com/beyond-code/http://hi.baidu.com/beyondcode 大家好,通过前面两篇打头文章,我也看了留言,感谢那些给我提意见的人和指出错误之处的人。再次谢谢你们的支持。 另外,Windows转载 2012-10-16 00:29:25 · 515 阅读 · 0 评论 -
API入门系列之四 -一个相当简单的SDK程序
原创文章,转载请注明作者及出处。首发http://blog.csdn.net/beyondcodehttp://www.cnblogs.com/beyond-code/大家好,还是我beyondcode,再次见面,前面介绍的那么多'理论知识',你们都懂了吗? 就算还没有彻底领悟,但至少还是有那么一点意识了吧,知道有那么一回事了吧。这一篇我打算通过一个小小小例子,来回转载 2012-10-16 00:52:13 · 945 阅读 · 0 评论 -
API入门系列之七 -完善MessageBox
原创文章,转载请注明作者和出处 http://blog.csdn.net/beyondcodeSDK编程群号:81543028 欢迎加入各位不好意思,前几天有些事很忙,昨天才稍稍有时间空闲下来,所以我将我的API入门系列文章继续下去,上一篇《自己实现MessageBox》中我们基本已经实现了一个对话框了,可以在中央显示自己的文字,并且显示一个确定按钮,可是,上一篇完的时转载 2012-10-16 13:41:59 · 594 阅读 · 0 评论 -
线程中SetEvent及WaitForSingleObject用法
SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJECT成为发信号状态时才返回,OBJECT可以是EVENT,也可以是其它内核对象。 当你创建一个线程时,其实那个线程是一个循环,不像上面那样只运行一次的。这样就带来了一个问题,在那个死循环里要找到合适的条件退出那个死循转载 2012-10-17 15:32:05 · 1070 阅读 · 0 评论 -
C语言编码风格
很多人不重视这点,认为无所谓,甚至国内的绝大多数教材也不讨论这个话题,导致学生入公司后仍要进行编码风格的教育。我接触过很多学生,发现他们由于平时缺乏这种意识,养成了不好的习惯,导致很难改正过来。代码没有注释,变量、函数等命名混乱,过两天自己都看不懂自己的代码。下面是一些我见过的比较好的做法,希望读者能有所收获。1、每一个函数都必须有注释,即使函数短到可能只有几行。头部说明需要包含包含的内容转载 2012-10-09 09:37:28 · 1069 阅读 · 0 评论 -
C语言编码风格(四)——函数
每个函数都应该设计得尽可能简单,简单的函数才容易维护。应遵循以下原则:实现一个函数只是为了做好一件事情,不要把函数设计成用途广泛、面面俱到的,这样的函数肯定会超长,而且往往不可重用,维护困难。函数内部的缩进层次不宜过多,一般以少于4层为宜。如果缩进层次太多就说明设计得太复杂了,应考虑分割成更小的函数(Helper Function)来调用。函数不要写得太长,建议在24行的标转载 2012-10-09 08:46:18 · 954 阅读 · 0 评论 -
C语言编码风格(三)——标识符命名
标识符命名应遵循以下原则:1、标识符命名要清晰明了,可以使用完整的单词和易于理解的缩写。短的单词可以通过去元音形成缩写,较长的单词可以取单词的头几个字母形成缩写。看别人的代码看多了就可以总结出一些缩写惯例,例如count写成cnt,block写成blk,length写成len,window写成win,message写成msg,number写成nr,temporary可以写成temp,也转载 2012-10-09 08:45:46 · 1432 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的ASC转载 2012-08-23 11:24:33 · 436 阅读 · 0 评论 -
C语言编码风格(一)——缩进和空白
我们知道C语言的语法对缩进和空白没有要求,空格、Tab、换行都可以随意写,实现同样功能的代码可以写得很好看,也可以写得很难看。[CodingStyle]中关于空白字符并没有特别规定,因为基本上所有的C代码风格对于空白字符的规定都差不多,主要有以下几条。1、关键字if、while、for与其后的控制表达式的(括号之间插入一个空格分隔,但括号内的表达式应紧贴括号。例如:while␣转载 2012-10-09 08:43:48 · 13285 阅读 · 0 评论 -
C语言编码风格(二)——注释
单行注释应采用的形式,用空格把界定符和文字分开。多行注释最常见的是这种形式:也有更花哨的形式:使用注释的场合主要有以下几种。1、整个源文件的顶部注释。说明此模块的相关信息,例如文件名、作者和版本历史等,顶头写不缩进。例如内核源代码目录下的kernel/sched.c文件的开头:2、函数注释。说明此函数的功能、参数、返回值、错误码等,写在函数定义上侧,和此函数定义转载 2012-10-09 08:45:21 · 1018 阅读 · 0 评论 -
华为C语言编程规范(6)—变量、结构
5-1:去掉没必要的公共变量。说明:公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。5-2:仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。说明:在对变量声明的同时,应对其含义、作用及取值范围进行注释说明,同时若有必要还应说明与其它变量的关系。5-3:明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建转载 2012-10-09 10:11:20 · 1113 阅读 · 0 评论 -
华为C语言编程规范(8)—程序效率
7-1:编程时要经常注意代码的效率。说明:代码效率分为全局效率、局部效率、时间效率及空间效率。全局效率是站在整个系统的角度上的系统效率;局部效率是站在模块或函数角度上的效率;时间效率是程序处理输入任务所需的时间长短;空间效率是程序所需内存空间,如机器代码空间大小、数据空间大小、栈空间大小等。7-2:在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。说明:转载 2012-10-09 10:12:21 · 1527 阅读 · 0 评论 -
漫漫找工路——百度、移动、华为等公司应聘经历总结
漫漫找工路Sakura老年记事薄(5)——关于梦想此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得,希望能够帮助到正在找工的朋友和师弟师妹们,并纪念找工这段怀揣着希望和梦想,伴随着紧张和压力,同时令我受益匪浅的日子。(本文主要针对通信公司和互联网公司的非技术类岗位。以下公司排名不分先后~~)转载 2012-10-09 08:47:40 · 5786 阅读 · 0 评论 -
华为C语言编程规范(4)—标识符命名
3-1:标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。示例:如下单词的缩写能够被大家基本认可。temp 可缩写为 tmp ;flag 可缩写为 flg ;statistic 可缩写为 stat ;incremen转载 2012-10-09 10:10:13 · 2102 阅读 · 0 评论 -
华为C语言编程规范(7)—函数、过程
6-1:对所调用函数的错误返回码要仔细、全面地处理。6-2:明确函数功能,精确(而不是近似)地实现函数设计。6-3:编写可重入函数时,应注意局部变量的使用(如编写C/C++语言的可重入函数时,应使用auto 即缺省态局部变量或寄存器变量)。说明:编写C/C++语言的可重入函数时,不应使用static 局部变量,否则必须经过特殊处理,才能使函数具有可重入性。6-4:编转载 2012-10-09 10:11:50 · 1849 阅读 · 0 评论 -
C语言知识点总结
有段事件没有写C程序了,有些地方有些生疏了。这两天事情比较少,准备再系统的看一边C的基础知识。这里再总结一下平时没太注意的知识要点。 1、C语言的语句块 在C语言中,任何允许出现语句的地方既可以是由;号结尾的一条语句,也可以是由{}括起来的若干条语句或声明组成的语句块(Statement Block),语句块和上一章介绍的函数体的语法相同。注意语句块的}后面不需要加;号。如果}后面加了;号,则转载 2012-10-09 08:44:46 · 1100 阅读 · 0 评论 -
C语言编码风格(五)——indent工具
indent工具可以把代码格式化成某种风格。-kr选项表示K&R风格,-i8表示缩进8个空格的长度。如果没有指定-nut选项,则每8个缩进空格会自动用一个Tab代替。注意indent命令会直接修改原文件,而不是打印到屏幕上或者输出到另一个文件,这一点和很多UNIX命令不同。可以看出,-kr -i8两个选项格式化出来的代码已经很符合本章介绍的代码风格了,添加了必要的缩进和空白转载 2012-10-09 08:46:47 · 992 阅读 · 0 评论 -
华为C语言编程规范(2)—排版
1-1:程序块要采用缩进风格编写,缩进的空格数为4 个。说明:对于由开发工具自动生成的代码可以有不一致。1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;rep转载 2012-10-09 10:09:16 · 1299 阅读 · 0 评论 -
华为C语言编程规范(5)—可读性
4-1:注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。示例:下列语句中的表达式word = (high if ((a | b) && (a & c)) (2)if ((a | b) 如果书写为high a | b && a & ca | b转载 2012-10-09 10:10:52 · 1072 阅读 · 0 评论 -
华为C语言编程规范(11)—代码测试、维护
10-1:单元测试要求至少达到语句覆盖。10-2:单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。10-3:清理、整理或优化后的代码要经过审查及测试。10-4:代码版本升级要经过严格测试。10-5:使用工具软件对代码版本进行维护。10-6:正式版本上软件的任何修改都应有详细的文档记录。10-7:发现错误立即修改,并且要记录下来。10-转载 2012-10-09 10:14:08 · 2087 阅读 · 0 评论 -
typedef用法小结
typedef用法小结这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant CodeTypedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 type转载 2012-11-28 20:11:15 · 451 阅读 · 0 评论