引用: 原帖由 lxgree2013 于 2013-1-22 17:30 发表
/*
*********************************************************************************************************
* uC/OS-II
* ...
第一个问题,如果不用到信号量、邮箱、时间管理等等这些东西。只需要在OS_CFG.H这个配置文件里面disable掉这些功能,在编译时,编译器就不会编译这些代码了,效果等效于不包含这些文件。
注意UCOS2是极其具有可裁剪性的。显然裁剪配置用宏的方式是极其安全可靠和移植性的。怎么会在这里用包含文件不包含文件的方法呢,你不觉得这个很不方面吗!!!
出现你说的这种现象,要么是这个被第三方(包括PIC官方)封装过但能正常编译,要么是被别人改了,直接在文件包含中删除了这些(可能不能正常编译)。
第二个问题,这个当然是C语言的范畴。其实真正要说也可以说不是C语言的范畴。你可以理解是C语言的范畴,反正只要你自己和别人知道说的是什么好。
这个其实是预处理的范畴,预处理在很多语言中都有,而且在C语言之前就有。预处理几乎都可以独立成一种小的语言。如果这么说的话,你可以说它不是C语言的范畴。
就算这个是C语言的范畴吧。扯这个是不是没意思。
这里#include后面紧接着都有两个小点指的是回退到上一级目录。也就是说这里给出的是相对路径,不然给出绝对路径的话,移动或拷贝了整个工程,每次都需要修改路径
你去掉这两个点的话,用“”,编译器会先在当前目录下来找这个文件,找不到了就会去编译环境定义的库路径来找,结果当然是找不到,当然说无法加载啊!!!
如果你熟知linux的话,应该知道一个点“.”是指当前目录,两个点是上级目录“..”,好像可以联系这个来理解,不知道对不对。