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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章