原创者jarod.1
一直想用Linux,装了很多次,总是在一段时间后,又用回windows,其实我一直在想,以后我的小孩一开始我就让他使用linux,共享万岁。
这次导航车的项目中,原来的项目中用了fedora做os,而我的工作就是要做navigation的软件,当然会从matlab开始,然后转到C code,但是我还是担心GCC是否编译出的结果和其他C compiler 有差别,导致计算精度上有差别,所以做完了C code 仿真后,向Boss请缨需要在fedora下测试。呵呵,终于非要用linux 不可了。
其实我之前在一台NB上装过一次fedora 8,结果破坏了NB的系统恢复功能,化了很久的时间才装上一个系统。这次是经过了多次备份后,装上了fedora 5(对方公司用的版本)。
LINUX 项目开发
1.工程的准备:需要编译的文件名后缀为*.cc,由于之前的文件偷懒只使用的ANSI C, 没有用C++,所以还要转成C++:将所有的 宏定义和变量声明头文件 都放到*.h 中,把初始化的内容都丢到 class 的那个函数中,不知道有没有更好的方法,数组的初始化只能一个一个初始化,不能用类似A[]={1,2,3,..}来做,但若是A[10][10]怎么办?没有太多琢磨的时间,暂时作罢;需要输出的变量和结构扔到 public中,其他的 到private中,最后把用到所有用到函数声明都列上;把用到的所有函数都 丢到 *.cc中,并将函数名前 加上 class名:: ,好了转换基本成功。下面就是写测试的文件了, 声明定义的class 的实例p, struct 的实例 st,然后调用 p.st.变量 就可以了...完成了。
2.GCC 编译:
makefile 的编写,就是怎么编译工程,生成什么等等。输入: make 就可以生成test.o 而输入:./test 就可以运行了。呵呵 就这么简单。我是使用gedit 来编辑文件,看到哪行报错的时候,就可以使用 ctrl + ‘i’来查找行。
3. GCC 调试:
GCC没有breakpoint,可能是我不知道,调试只能用输出命令来监视,这些在很多年前 做mcu的时候就做过,自然熟悉不过了。不过 有很多命令 printf 还有cout 等等,没有太在意那些,我是哪个熟用哪个。
还有就是显示数据了,matlab 不能用,只能免费的gnuplot了,再次感言:共享万岁!gnuplot 如此安装:*.tar : run: tar -zxvf gnuplot-4.0.0.tar.gz 然后 ./configure 再 make 最后make install 就可以使用了。使用方法:先找到数据所在的路径 输入 gnuplot 出现 gnuplot> 输入 plot 'filename' u 1(colum ) with linespoint。画出图就可以分析了,gnuplot 没有缩小功能,当放大后,只能用reset 后重绘。
直到昨天终于给了对方一个1.2的版本的software,等他们跑车的结果了。没问题的话,又要搞GPS generater 了。
singyea 于 2008-03-08 03:22:51发表:
调试用gdb啊。gcc是编译用.