搜索
bottom↓
回复: 16

请教:c语言的源程序里面的 # 号是什么意思?【人气旺盛、高手如林、充满热情的论坛,让初

[复制链接]

出0入0汤圆

发表于 2010-8-23 15:08:44 | 显示全部楼层 |阅读模式
下面是源程序片段,肯请高手指点一下吧!
------------------------
        //ASCII字符测试
#if (Font_type == 0)        //(8*8字体)
        i = 0;
        while(i < 101)               
        {
                LCD_printc(j & 0x07, i & 0x0f, i + 32);
                delay200ms(); i++;
                if(!(i % 16)) j++;
        }
#else                                        //(8*16字体)
        i = 0;
        while(i < 95)
        {
                LCD_printc(j & 0x03, i & 0x0f, i + 32);
                delay200ms(); i++;
                if(!(i % 16)) j++;
        }
#endif

出0入0汤圆

发表于 2010-8-23 15:12:51 | 显示全部楼层
预处理标记。

出0入0汤圆

发表于 2010-8-23 15:13:03 | 显示全部楼层
自己google一下就有了,编译预处理

出0入0汤圆

发表于 2010-8-23 15:17:38 | 显示全部楼层
程序片段里#if....的意思是如果条件成立,则编译下面的语句,否则编译#else后的语句。

出0入0汤圆

发表于 2010-8-23 15:17:44 | 显示全部楼层
基础知识

出0入0汤圆

 楼主| 发表于 2010-8-23 15:35:27 | 显示全部楼层
底子太薄,见笑了,非常感谢各位的指点。

厚着脸皮继续请教:

#endif 的意思是否是预处理程序段的结束?

这样写程序应该会减少编译后的代码长度(c程序中有些行不编译了)?

出0入0汤圆

发表于 2010-8-23 16:33:33 | 显示全部楼层
#endif 的意思是否是预处理程序段的结束?
是的

这样写程序应该会减少编译后的代码长度(c程序中有些行不编译了)?
也可以这样做,不过一般用来进行条件编译的处理.

出0入0汤圆

 楼主| 发表于 2010-8-23 16:44:58 | 显示全部楼层
多谢多谢!受益匪浅!

出0入8汤圆

发表于 2010-8-23 17:39:05 | 显示全部楼层
建议楼主可以baidu下,林锐博士的 《高质量C/C++编程指南》PDF,
认真研读几遍,这是一本极佳的内功心法...

出0入0汤圆

 楼主| 发表于 2010-8-23 17:44:10 | 显示全部楼层
哦,太好了,我一定弄来好好学习一番!

断断续续自学单片机七八个月了,买回来的各种快速入门类的书籍,里面的资料很不全面,有楼上推荐的好营养,一定好好吸收

出0入0汤圆

发表于 2010-8-23 18:00:48 | 显示全部楼层
回复【8楼】security  
建议楼主可以baidu下,林锐博士的 《高质量c/c++编程指南》pdf,
认真研读几遍,这是一本极佳的内功心法...
-----------------------------------------------------------------------

有那么多c语言作者,标准制定者写的好书,多读几遍自然靠谱,何必看这种没保障的野路子心法........

出0入0汤圆

发表于 2010-8-23 18:20:11 | 显示全部楼层
楼上说的这本书我有电子版的


现传上


《高质量c/c++编程指南》pdfourdev_577232.pdf(文件大小:326K) (原文件名:C高级语言.pdf)

出0入8汤圆

发表于 2010-8-23 18:21:50 | 显示全部楼层
回复【10楼】ilovezeno 鸣
-----------------------------------------------------------------------

当然相对于那么多的英文书籍,是会有瑕疵,但以林锐的牌子,保障还是有的..
况且里面还教了很多工程实践知识,例如编码规范,我想抛开技术基本功不说,从一个人代码的编写风格,或许就能看出他是否跨入了专业程序员的门槛...

出0入4汤圆

发表于 2010-8-23 18:34:19 | 显示全部楼层
《高质量c/c++编程指南》我看过书,三分之一在说别的事情,这个电子版不错,后面的东西都没了。如果你有时间,可以看看《代码大全》还是很详细的,《C陷阱与缺陷》和《C专家编程》两本书也很不错。

出0入0汤圆

发表于 2010-8-23 18:53:32 | 显示全部楼层
回复【12楼】security  
回复【10楼】ilovezeno 鸣
-----------------------------------------------------------------------
当然相对于那么多的英文书籍,是会有瑕疵,但以林锐的牌子,保障还是有的..
况且里面还教了很多工程实践知识,例如编码规范,我想抛开技术基本功不说,从一个人代码的编写风格,或许就能看出他是否跨入了专业程序员的门槛...
-----------------------------------------------------------------------

编码规范这东西争议太大了,到处都是各种原教旨主义者......单就一个命名方式,匈牙利表示法就爱的人爱死恨的人恨死.....

洋人的书的好处在于,ANSI C规范就是这些书的作者制定的,所以他们敢把问题讲透,敢打保票,敢和你谈为什么这么定,以及各种编译器的具体实现.国人的很多书因为担心出错,所以讲的很多都偏保守,不敢下定论的感觉.

出0入0汤圆

 楼主| 发表于 2010-8-25 14:04:33 | 显示全部楼层
果然受益匪浅啊!

出0入0汤圆

发表于 2010-8-26 22:28:31 | 显示全部楼层
感谢
【11楼】 kangkang 阿沙
提供的好书
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 19:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表