extern 用法的疑问。。。

[复制链接]
2439|4
 楼主| 20052099 发表于 2009-3-31 10:59 | 显示全部楼层 |阅读模式
/*<br />;************************************************************************************************************<br />;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;北京精仪达盛科技有限公司<br />;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;研&nbsp;&nbsp;&nbsp;&nbsp;发&nbsp;&nbsp;&nbsp;&nbsp;部<br />;*<br />;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.techsine.com<br />;*<br />;*---------------------------------------------&nbsp;文件信息&nbsp;----------------------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />;*<br />;*&nbsp;文件名称&nbsp;:&nbsp;2410lib.h&nbsp;&nbsp;&nbsp;&nbsp;<br />;*&nbsp;文件功能&nbsp;:&nbsp;该文件定义库函数声明。<br />;*&nbsp;补充说明&nbsp;:&nbsp;<br />;*--------------------------------------------&nbsp;最新版本信息&nbsp;-------------------------------------------------<br />;*&nbsp;修改作者&nbsp;:&nbsp;ARM开发小组<br />;*&nbsp;修改日期&nbsp;:&nbsp;2004/08/03<br />;*&nbsp;版本声明&nbsp;:&nbsp;V1.0.1<br />;*--------------------------------------------&nbsp;历史版本信息&nbsp;-------------------------------------------------<br />;*&nbsp;文件作者&nbsp;:&nbsp;Shin,&nbsp;On&nbsp;Pil&nbsp;(SOP)(samsung)<br />;*&nbsp;创建日期&nbsp;:&nbsp;2002/05/14<br />;*&nbsp;版本声明&nbsp;:&nbsp;v1.0.0<br />;*-----------------------------------------------------------------------------------------------------------<br />*************************************************************************************************************<br />*/<br />#ifndef&nbsp;__2410lib_h__<br />#define&nbsp;__2410lib_h__<br /><br />#ifdef&nbsp;__cplusplus<br />extern&nbsp;&quot;C&quot;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*这里的{有什么用啊?*/<br />#endif<br /><br />#define&nbsp;DebugOut&nbsp;Uart_Printf<br /><br />#define&nbsp;min(x1,x2)&nbsp;(((x1)&lt(x2))?&nbsp;(x1):(x2))<br />#define&nbsp;max(x1,x2)&nbsp;(((x1)&gt(x2))?&nbsp;(x1):(x2))<br /><br />#define&nbsp;ONESEC0&nbsp;(62500)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//16us&nbsp;resolution,&nbsp;max&nbsp;1.04&nbsp;sec<br />#define&nbsp;ONESEC1&nbsp;(31250)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//32us&nbsp;resolution,&nbsp;max&nbsp;2.09&nbsp;sec<br />#define&nbsp;ONESEC2&nbsp;(15625)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//64us&nbsp;resolution,&nbsp;max&nbsp;4.19&nbsp;sec<br />#define&nbsp;ONESEC3&nbsp;(7812)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//128us&nbsp;resolution,&nbsp;max&nbsp;8.38&nbsp;sec<br />#define&nbsp;ONESEC4&nbsp;(PCLK/128/(0xff+1))&nbsp;&nbsp;//@60Mhz,&nbsp;128*4us&nbsp;resolution,&nbsp;max&nbsp;32.53&nbsp;sec<br /><br />#define&nbsp;NULL&nbsp;0<br /><br />#define&nbsp;EnterPWDN(clkcon)&nbsp;((void&nbsp;(*)(int))0x20)(clkcon)<br />void&nbsp;StartPointAfterPowerOffWakeUp(void);&nbsp;//purnnamu:Mar.29.2002<br /><br />//&nbsp;2410lib.c<br />void&nbsp;Delay(int&nbsp;time);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Watchdog&nbsp;Timer&nbsp;is&nbsp;used.<br /><br />void&nbsp;*malloc(unsigned&nbsp;nbyte);&nbsp;<br />void&nbsp;free(void&nbsp;*pt);<br /><br />void&nbsp;Port_Init(void);<br />void&nbsp;Uart_Select(int&nbsp;ch);<br />void&nbsp;Uart_TxEmpty(int&nbsp;ch);<br />void&nbsp;Uart_Init(int&nbsp;mclk,int&nbsp;baud);<br />char&nbsp;Uart_Getch(void);<br />char&nbsp;Uart_GetKey(void);<br />int&nbsp;&nbsp;Uart_GetIntNum(void);<br />void&nbsp;Uart_SendByte(int&nbsp;data);<br />void&nbsp;Uart_Printf(char&nbsp;*fmt,...);<br />void&nbsp;Uart_SendString(char&nbsp;*pt);<br /><br />void&nbsp;Timer_Start(int&nbsp;divider);&nbsp;&nbsp;&nbsp;&nbsp;//Watchdog&nbsp;Timer&nbsp;is&nbsp;used.<br />int&nbsp;&nbsp;Timer_Stop(void);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Watchdog&nbsp;Timer&nbsp;is&nbsp;used.<br /><br />void&nbsp;Led_Display(int&nbsp;data);<br /><br />void&nbsp;ChangeMPllValue(int&nbsp;m,int&nbsp;p,int&nbsp;s);<br />void&nbsp;ChangeClockDivider(int&nbsp;hdivn,int&nbsp;pdivn);<br />void&nbsp;ChangeUPllValue(int&nbsp;m,int&nbsp;p,int&nbsp;s);<br /><br />#ifdef&nbsp;__cplusplus<br />}<br />#endif<br /><br />#endif&nbsp;&nbsp;//__2410lib_h__
seekfor 发表于 2009-3-31 11:05 | 显示全部楼层

c++程序调用的情况,声明这是c代码而不是C++代码

{表示用{}一起的全部属于
HWM 发表于 2009-3-31 11:07 | 显示全部楼层

回归C本性

  
 楼主| 20052099 发表于 2009-3-31 12:53 | 显示全部楼层

哦~

那<br />#ifdef&nbsp;__cplusplus<br />}<br />#endif<br />是和上面的一起的,是吧?<br />即<br />#ifdef&nbsp;__cplusplus<br />extern&nbsp;&quot;C&quot;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*这里的{有什么用啊?*/<br />#endif<br />和<br />#ifdef&nbsp;__cplusplus<br />}<br />#endif<br />要成对出现是呀?
HWM 发表于 2009-3-31 13:17 | 显示全部楼层

是的

extern&nbsp;&quot;C&quot;&nbsp;{<br /><br />...<br /><br />}<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部