其实在我的日志里面很早就有介绍这里面一些符号的意义了,具体可以看我的第二篇日志《 .bat 配置文件的一些符号所代表的意思?》。只是当时学的不是很扎实,今天师妹请教,于是整理一篇日志,方便后面的同学学习。

其实这些文件都是一个批处理文件,具体的指令可以参考windows shell 编程指令。

文章标题中出现的符号不是我们经常所看见的普通标点符号,也不要往C语言哪方面的意思去想。正所谓对事不对人,同一个符号在不同的环境下有着不同的意思。上面提到饿这些符号一般存在于以下几个重要的文件里面:platform.bib,SMDK6410.bat,platform.reg,source等。当然像.CPP文件中肯定也有,但是那里面的# ;相信大家都是知道的,这里就不赘述。

首先打开platform.reg,这里以SMDK6410.bat为例:

代码

;------------ I2C Bus Driver ------------------------------------------------
IF BSP_NOI2C !
;; I2C Bus Driver
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IIC]
    "Prefix"="IIC"
    "Dll"="s3c6410_iic.dll"
    "Order"=dword:5
    "Index"=dword:0
    "Mode"=dword:1                ; Mode: 0 = POLLING, 1 = INTERRUPT
    "SlaveAddress"=dword:0        ; Bus Driver's Slave Address
    "FriendlyName"="IIC Bus Driver"
    "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"   ; Power-manageable generic
ENDIF BSP_NOI2C !
;-------------------------------------------------------------------------

第一行就不用说了,;表示注释。重点介绍IF BSP_NOI2C !和ENDIF BSP_NOI2C !,从字面意思上可以按照IF ENDIF来理解,相信也不是什么困难的事情,只是这里的!到底是什么作用呢?先卖个关子,继续往下看。还是以I2C为例,打开platform.bib,有如下内容:

代码

;------------------ I2C BUS Driver -------------------------------------------------------
IF BSP_NOI2C !
    s3c6410_iic.dll        $(_FLATRELEASEDIR)\s3c6410_iic.dll                    NK            SHK
ENDIF BSP_NOI2C !
;---------------------------------------------------------------------------------------

可以看见这里仍然有IF BSP_NOI2C !和ENDIF BSP_NOI2C !,可以肯定的是和上文的意思是一致的。继续往下看,还是以I2C为例,打开SMDK641.bat,可以看见以下内容:

set BSP_NOI2C=
set BSP_NOSPI=1
@REM wifi can be abled when spi is diabled
set BSP_NOWIFI=1

相信大家看到这里已经有点眉目了,前文说的IF BSP_NOI2C !里面的 BSP_NOI2C !就是指的是否在SMDK6410.bat里面进行了变量的定义,这里set BSP_NOI2C=就是定义了I2C的环境变量,接着注册表和.bib就可以通过IF,ELSE进行判断,进而执行IF,ELSE之间的内容。如果等于1,如:set BSP_NOWIFI=1,则说明,是没有设置WIFI这个环境变量,因而,即使在IF,ELSE之间定义了,如:

IF BSP_NOWIFI !
    s3c6410_wifi.dll        $(_FLATRELEASEDIR)\s3c6410_wifi.dll                    NK            SHK
ENDIF BSP_NOWIFI !

那么也是不会去执行IF,ELSE之间的内容。这里的感叹号,你可以理解成前置的set。当然,这里的环境变量你也可以在PB6.0下进行添加,这里就不进行说明了。细心的人或许还发现了@REM wifi can be abled when spi is diabled,这里的@怎么看呢?它应该和@REM 结合在一起看,表示注释。至于#,我们以CAMERA下的SOURCE文件为例:

代码

!IF "$(BSP_SMDK6410)" == "1"
#        $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\S5K4BA_MODULE.lib
        $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\OV9650_MODULE.lib       
#        $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\SAA7113_MODULE.lib     
!ENDIF

我所使用的Samsung6410有SAA7113和OV9650,怎么选择呢?其中一个就是在SOURCE下看你的链接库,那么不需要的就需要注释掉,这里的#就是注释的意义。

最后再以一个例子让我们一起回顾一下批处理文件:

比如
set BSP_DEBUGPORT=SERIAL_UART0
set 用来设置一个环境变量 BSP_DEBUGPORT就代表SERIAL_UART0从意义上来看 好像是BSP调试端口为串口0,具体的要看具体的实现代码。
@REM 跟#类似为注释掉一行
$()为引用括号里的环境变量
比如:
 set _TARGETPLATROOT=“c:\wince5.0\platform"
set  —CPUINDPATH = ARMlib
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\OV9650_MODULE.lib   
 实际上这个路径就相当于  
“c:\wince5.0\platform\lib\armlib\0v9650_module.lib"

转载于:https://www.cnblogs.com/Torres_fans/archive/2010/05/17/1737711.html

# ; @REM !等符号在WINCE6.0下的意义和作用相关推荐

  1. 图解WinCE6.0下的内核驱动和用户驱动

    图解WinCE6.0下的内核驱动和用户驱动 在<WinCE驱动程序的分类>中曾提到,WinCE6.0的流驱动既可以加载到内核态也可以加载到用户态.下面通过一组图片简单说明一下这两种驱动的关 ...

  2. Wince6.0 下Camera(OV3640) 驱动开发全程记录

    原文地址::http://blog.csdn.net/figthter_cui/article/details/6007100 相关文章 1.Initialization Sequence for C ...

  3. WINCE6.0下开始菜单的“挂起(suspend)”是否可见及阻止系统进入睡眠模式

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  4. 在WinCE5.0和WinCE6.0下,编译选项介绍

    作者:ARM-WinCE 在WinCE5.0中,在"Build OS"菜单中,我们会看到不同的编译选项: "Sysgen","Build and Sy ...

  5. 盘点WinCE6.0下的小游戏

    以下介绍的所有游戏在下面平台下测试OK! 软件平台:WinCE6.0 硬件平台:深圳友坚恒天科技ARM11开发板(UT-S3C6410开发板) http://www.urbetter.com 当前,基 ...

  6. WINCE6.0下的 IMX51 AC97驱动 简述

    AC97驱动接说明 本驱动使用IMX51的 SSI接口支持的AC97接口,对外接支持AC97 2.0协议的UCB1400芯片. 本驱动能够实现全双工的PCM码率的播放.录制,同时支持多种采样率的PCM ...

  7. Resco Photo Viewer for WinCE6.0

         今天是奥运会的第一天.早晨,媒体说有5个夺金点,一天下来最终收罗了2枚,这两枚金牌的得主可都是第一次参加奥运会的新人.真是后生可畏,后继有人啊!不过,那些呼声较高的老将们也未尝不是英雄.譬如 ...

  8. WinCE6.0的EBOOT概要

    为一个新的硬件设备定制WinCE6.0操作系统,一般需要完成以下几个主要步骤: 1.       针对特定的硬件设备创建板级支持包(Board Support Package缩写为BSP),BSP必须 ...

  9. Wince6.0 cleartype

    WinCE6.0下显示宋体毛刺很严重,影响显示效果,打开cleartype以后字体显示平滑,但是不知道为什么wince桌面上的中文字体显示乱码,而且自己的引用程序也变的很卡. 开始以为是字库的原因,后 ...

最新文章

  1. SAP MM ME1M报表结果不科学?
  2. Spark SQL 最简单例子
  3. 10个最“优秀”的代码注释
  4. Jquery操作表单Select元素常用方法
  5. QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]
  6. Python多线程编程方式1(转)
  7. 【Go学习笔记】数组
  8. 老罗Android开发视频教程_基于JavaSE开发(适合Android初学者菜鸟级别的人)
  9. windows自带黑体_win10字体设置黑体|win10系统文字如何设置黑体字体
  10. 通州区机器人比赛活动总结_机器人科技活动总结.doc
  11. JAVA中ResourceBundle使用详解
  12. Bulma CSS - 简介
  13. 量化投资学习——A股H股套利年化100%
  14. 消防工程师 10.1 火灾自动报警系统-组成和工作原理
  15. TBS1287 1/4 扫 48 通道 LED 背光驱动芯片
  16. 大一学生HTML5期末大作业——基于HTML+CSS中国传统节日-清明节 8页
  17. 苹果手机如何关闭自动续费_手机APP会员自动续费怎么办?教你一招快速关闭!...
  18. 以下是根据在下的一些朋友芳名作诗,请朋友指点,继续增加中
  19. 利用JQuery实现广告动态滚动特效
  20. Matlab中strcat函数使用

热门文章

  1. react 注释html,React之JSX语法
  2. oracle 查询表里信息_查看ORACLE 数据库及表信息
  3. 2018-携程-春招题
  4. 电脑文件太多找不到?试试这个免费搜索软件
  5. APP自动化测试系列之获取Android的Activity 和 Package
  6. Elon Musk发起投票,超7成参与者认为狗狗币是地球未来货币
  7. SAP License:ERP的价格管控
  8. SAP License:定义在制品和结果分析过账OKG8
  9. SAP培训——SAP License基础
  10. Java 对用户密码加密(Jeecg 登录密码加密方式)MD5andDES方式