CS106X--Assignment 1: Life

        导师推荐了很多斯坦福大学的公开课,CS106是程序设计入门课程,是其中的一个系列,因分快慢班有三个课号,分别为CS106A(Programming Methodology)、CS106B(Programming Abstractions)和CS106X(Programming Abstractions)。其中CS106A使用C,为初级编程,CS106B是CS106A的后续课,使用C++。CS106X面向有编程基础的学生,涵盖CS106A和CS106B的内容,在一学季完成。

        这两天尝试做了下CS106X的Assignment 1,才发现自己有关windows编程竟然一无所知,要努力学习了,不要让导师觉得招了个这么水的学生才好~

        总结一点学习心得:

1. error LNK2001/error LNK2019: 无法解析的外部符号

      之所以会出现这个错误是因为我是使用的vs2010编译的这个项目,而assn-1这个项目使用了一个静态链接库CS106CPPLib.lib是用vs2008编译生成的。

       静态链接库不同于动态链接库(*.dll),在静态库情况下,函数和数据被编译进一个二进制文件(通常扩展名为*.LIB),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。这个过程称为"静态链接",此时因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。所以vs2010不能使用vs2008生成的静态库。

        静态库的调用方法有:#pragma comment(lib,"XXX.lib"),或者在开发环境中直接配置,如果使用Visual Studio,位置在 项目→配置属性→连接器→输入→附加依赖项 中加入.lib文件。

2.LNK2005“符号已定义”错误

       这个错误是因为运行库冲突,详细的原因解答参见这里:http://tech.ccidnet.com/art/1081/20060310/474235_1.html

3.源代码

代码太长了,就不贴在这里了,上传到csdn下载上了,下载地址:

http://download.csdn.net/detail/wqqr123456/3772098

导师还推荐了一些其他有关图形学和数学方面的课程,也非常不错,分享一下:

 CS205A Mathematical Methods for Computer Vision, Robotics, and Graphics

    http://www.stanford.edu/class/cs205/

CS148 Introduction to Computer Graphics

https://graphics.stanford.edu/wikis/cs148-09

COS 426 Computer Graphics

http://www.cs.princeton.edu/courses/archive/spring08/cos426/

16-720 Computer Vision

http://www.andrew.cmu.edu/course/16-720/index.html

 10-701 and 15-781 Machine Learning

http://www.cs.cmu.edu/~epxing/Class/10701/

CSE 564 Visualization

 http://www.cs.sunysb.edu/~mueller/teaching/cse564/syllabus.html


发布了22 篇原创文章 · 获赞 5 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章