①選y後,MATLAB會列出當前機器上已經安裝的、且與當前MATLAB版本兼容的所有C編譯器,壹般而言,MATLAB都會自帶壹個LCC編譯器,然而LCC目前僅支持32位的MATLAB,所以妳的機器上沒有。
②選n後,MATLAB會列出所有與當前MATLAB版本兼容的C編譯器類型(不管妳是否已經安裝,用於幫助用戶選擇合適的C編譯器),妳機器上已經安裝的2個編譯器,VC6.0:MATLAB從R2010b之後不再支持,所以選項裏看不到;而SDK7.1選n時可以看到([11]),但選y時沒有跳出,是因為MATLAB沒有正確定位SDK。
③解決方法:
方法壹:如果以缺省選項安裝了SDK7.1(不改變默認安裝路徑),可以嘗試輸入n後,選擇 [14] (註意:是14,不是11!),強制定位該編譯器(網上有人用這種方法成功了:/blog/static/185801922201331464626365/)
方法二:重新安裝MATLAB,安裝時選擇32位進行安裝,則自帶LCC編譯器。
方法三:選擇適配的VS版本,下載安裝後,重新配置MEX命令。
簡單講,編譯器就是將“壹種語言(通常為高級語言)”翻譯為“另壹種語言(通常為低級語言)”的程序。壹個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼壹般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的字節碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。