您的位置:首页 > 其它

tornado小技巧。

2014-02-11 15:17 141 查看
http://www.cnblogs.com/fisher046/archive/2010/04/26/1720986.html
2010-12-29 21:45

tornado 使用小技巧

1。 tornado中默认gnu编译器是以ansi为标准,因此不支持“//”形式的注释,修改方法,(1)直接到工程文件中修改makefile文件,将-ansi去掉即可。(2)用界面操作,在Builds标签中选中相应的编译器,将c/c++ compiler中的-ansi去掉就好了,如图。




2。tornado中生成和使用静态库

生成downloadable application 的时候默认是编译生成.out文件,若要生成.a库供其他程序调用就要对编译器做一些设置了,如果知道修改makefile就很容易理解了,就是用archive将.o文件进行打包而已,界面操作如图:Rules菜单项下选择archive就好了,



然后可以设置一下库德输出路径,默认与.o文件一起。如图:Macros菜单项中选中ARCHIVE,Value中写上绝对路径即可,该路径会随project路径而改变,也就是一个相对路径,这样保证了拷贝工程文件就可以到处用。



使用库就是在makefile中添加-llibname.a -LlibPath 就好了,界面操作如图:Macros菜单项中选择PRJ_LIBS

输入库名,可以使用绝对路径和相对路径(如图),相对路径是相对.0文件,如果不习惯最好用绝对路径,tornado会自动为你改路径。



3.tornado 使用downloadable application的时候其实是通过target agent 和 targetserver通信来调试的,其实是task来启用task,所以如果你的代码中用到了static 变量的时候,调试起来就要特别注意了,你的task退出了,但是static变量并不会退出生命周期,其值还是上一次调用的时候的值。bootloader型的没有问题,如果是前一种情况想用static,就必须在使用前先显示初始化static变量,否则,只会有第一次是正常的,此后再启动同一task结果就不一样了。

简单的测试代码如下:

#include "vxWorks.h"

static int i = 0;

void test()

{

printf("i = %d\n",i++);

}

还有就是如果用板子联调的时候,不要轻易屏蔽所有中断,要不target agent会死掉,导致你无法正常调试。(待续。。。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: