⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (4).txt

📁 暂时没有高质量的原代码
💻 TXT
字号:
文件头:

6、if 语句对出错的处理 


——————————— 


我看见你说了,这有什么好说的。还是先看一段程序代码吧。 


  


    if ( ch >= '0' && ch <= '9' ){ 


        /* 正常处理代码 */ 


    }else{ 


        /* 输出错误信息 */ 


        printf("error ......\n"); 


        return ( FALSE ); 


    } 


  


这种结构很不好,特别是如果“正常处理代码”很长时,对于这种情况,最好不要用else 


。先判断错误,如: 


  


    if ( ch < '0' || ch > '9' ){ 





        /* 输出错误信息 */ 


        printf("error ......\n"); 


        return ( FALSE ); 


    } 


  


    /* 正常处理代码 */ 


    ...... 


  


  


这样的结构,不是很清楚吗?突出了错误的条件,让别人在使用你的函数的时候,第一眼 


就能看到不合法的条件,于是就会更下意识的避免。 


  


  


  


  


7、头文件中的#ifndef 


—————————— 


千万不要忽略了头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两 


个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件 


,于是问题来了,大量的声明冲突。 


  


还是把头文件的内?/textarea><BR>

<table width=756 border=0>

<tr><td width=1 bgcolor=#B0B0B0></td><td>

<script type="text/javascript"><!--

google_ad_client = "pub-8055710228382273";

google_ad_width = 728;

google_ad_height = 90;

google_ad_format = "728x90_as";

google_ad_type = "text_image";

google_ad_channel ="0099118804";

google_color_border = "FFFFFF";

google_color_bg = "FFFFFF";

google_color_link = "0000FF";

google_color_text = "333333";

google_color_url = "666666";

//--></script>

<script type="text/javascript"

  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

</td>

<td width=15 bgcolor=#E4E0D8></td></tr></table>

<textarea cols=105 rows=12>文件尾:

时才去管他,这样一来,就只会有一个err 


msg存在于执行文件中,而且,这样做很利于封装。 


  


我曾遇到过的最疯狂的事,就是在我的目标文件中,这个errmsg一共有112个副本,执行文 


件有8M左右。当我把errmsg放到C文件中,并为一千多个C文件加上了extern的声明后,所 


有的函数库文件尺寸都下降了20%左右,而我的执行文件只有5M了。一下子少了3M啊。 


  


[ 备注 ] 


————— 


有朋友对我说,这个只是一个特例,因为,如果errmsg在执行文件中存在多个副本时,可 


以加快程序运行速度,理由是errmsg的多个复本会让系统的内存换页降低,达到效率提升 


。像我们这里所说的errmsg只有一份,当某函数要用errmsg时,如果内存隔得比较远,会 


产生换页,反而效率不高。 


  


  


生副本导致执行文件尺寸变大,不仅增加了系统装载时间,也会让一个程序在内存中占更 


多的页面。而对于errmsg这样数据,一般来说,在系统运行时不会经常用到,所以还是产 


生的内存换页也就不算频繁。权衡之下,还是只有一份errmsg的效率高。即便是像logmsg 


这样频繁使用的的数据,操作系统的内存调度算法会让这样的频繁使用的页面常驻于内存 


,所以也就不会出现内存换页问题了。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -