补充一下编译原理的知识
2011-07-03 01:05 ozslice798 阅读(186) 评论(2) 收藏 举报今天在vs2010上面build solution的时候遇到了特别烦人的麻烦,先后三个同学帮忙都没解决,最后还是一个做过编译器的同学找出了问题原因和解决办法。“出来混迟早是要还的!”没有学过编译原理伤不起啊!问题是这样的,一个solution包含15个project,在我认真的将c++ project property配置完以后,solution build不通过。期间出现过这些问题:
1. opencv的版本问题。opencv2.2和opencv2.0之间没有什么差别,但是组长很不满意我用了新版本。首先要检查openCV是vs2010的还只是源码包,如果是后者那么要先用Cmake编译源码,然后在vs2010上面编译连接运行。然后,要注意三个文件夹,include,lib和bin,在项目的属性里要配置好。
2.头文件问题。服务器版本的cv.h和库文件是修改过的,也就是说个别函数是重新设计了,库也是自己生成的。但是没有人说过,于是我就悲剧地不停调试。如果没有“个人版”的opencv库和头文件,我下载的这个原版的驴唇是对不上项目的马嘴的。
那位同学在经过一番分析后,发现了这个问题,可惜今天时间有限,没有完全搞定,相信明天绝对可以。
编译原理要好好学学才行。
一个语言处理系统的流程是这样的:源代码---compiler---改动过的源代码---目标汇编程序(target assembly program)---可移植的机器程序--++库文件(library files)++可移植目标文件---linker(连接器)---目标机器代码
很多词汇是自己翻译的,其实英文说的更好,单词理解更容易也更贴切。
-----------------------------------------------------------------
说几句题外话,这几天做的事情大致分为两类,一类是在vs2010上编译连接运行项目,另一类是学习编程方面的知识。最近感觉有点沮丧但也充满了希望,一方面是遇到的问题自己目前解决不了很着急,只好求助,另一方面感觉自己的学习方法不对,不见效果。数据库怎么连接,bin,debug,release,build,rebuid all,一个个新的东西进入我的大脑,感觉特别混乱。看指导书,看代码,不懂的上网查,最后不知道自己在看什么。以前读书的习惯对于阅读数学方面的书有一定的偏好,对于一个定理或者公式,我能盯着看几个小时,自己推导,理顺逻辑关系,数学书中的一两页我可能要读上一个上午,但是对于编程的书,一本比一本厚,我还是拿这种方法读书就浪费了精力,小提大作了,我感觉编程只有自己把程序写出来了才算是掌握了,而不是想数学我理解了原理可以分析解决问题了才算是学懂了,两个的方向不一样,编程看重的是实际效果,你能不能把程序实现,而不是你为什么用这种方法而不是那种,这些考虑应该放在之后吧。感觉工程方面的东西很多很多,而且不断更新,如果像蜗牛的速度那样读书,肯定跟不上技术的发展。改变自己的思维定势,适应新的学习内容,努力!
浙公网安备 33010602011771号