導航:首頁 > 源碼編譯 > 英特爾編譯器和代碼庫

英特爾編譯器和代碼庫

發布時間:2022-04-27 02:47:13

A. 如何在VC6中使用Intel C/C++ 編譯

Dev C++ 用的是著名 的 GNU 編譯器集合中的編譯器

windows 下的首選的編譯器是被打包進 VC 的 Microsoft 的 CL, 在 Windows 下的各種編譯器里
Microsoft 的 CL 具有極佳的性能, 常常能生成極快速極短小的代碼(這個和 Microsoft 打包進 VC 的標准 庫 也有關系).

如果是 Intel 處理器, 可以考慮的是 Intel 的 C++ 編譯器,不過使用起來比較麻煩.

GNU 編譯器集合的優點在於其良好的跨平台性能, 你 可以在各種平台上使用 GNU 的編譯器
其是 Unix/linux 平台的首選編譯器(實際上,大多數 Unix/Linux 都搭載了 GCC).

至於對標準的支持度, GCC 應該是比較好的(對 C 語言), 對標准 C++ 來說, Microsoft 的 VC2005 以上也做得很不錯.

用 VC6 來比較 Dev C++ 5 是不恰當的, VC6 是應該淘汰的東西了
要用來學習 C++ 的話,最低也該用 VC2005
理由: VC6 比 標准 C++ 還古老, VC6 的時代還沒有標准 C++ 這個東西
要用來做實際工作的話,最低也該用 VC2005
理由: VC6 不支持新的平台,特別是 amd64 和 it64.VC 6 不支持 VISTA.

不過,Dev C++ 5 Beta 也是有點老了,要做實際工作的話,Windows 下 使用 Dev C++ 5 Beta 時要注意兼容性,實在不行的話就更新 MingW 和 GCC.
VC++ 6.0是97年正式竣工的,98年開始有C++標准,後來C語言又修訂了標准C99,再後來又有C++2003標准,明年C++標准會有C++0X,這樣看來VC++6.0對C++支持不好是很正常的事情,對標準的C99支持不好也是很正常的事情。

GNU Dev C++ 4.9.9.2,2005年最後一版,據說對C++標准支持比較好,再後來有wx-devcpp繼續了它的道路,至今一直繼續升級。

我個人的使用經驗是這樣,如果你把VC++6.0當成一個C語言的IDE可能還不錯,但是編譯C++程序,恐怕就有點牽強了,我平時寫得C++代碼[如果沒有語法錯誤的話],VC++6.0即使打上SP6補丁相信90%以上的可能性編譯不過去。Dev C++ 4.9.9.2可以編譯過去的可能性相信會超過98%。如果寫C程序,假如沒有語法錯誤的話,VC++6.0和GNU Dev C++ 4.9.9.2基本上都可以編譯成功。

由於都是IDE,VC++6.0調試程序更方便一些,用VC++6.0可以開發C應用程序,Win32應用程序,還可以方便的使用MFC開發很多應用程序,不過問題是,MS的IDE新版本有很多時候並不兼容VC++6.0,有些函數的參數重新修訂,有些函數和類已經廢棄,有些已經改名,當然還擴充了不少。

VC++6.0對STL支持不佳是很正常的事情,比如getline庫函數本身有bug,list成員函數sort本身有bug,還有很多其他問題,VC++6.0對模板支持很差,對友元支持很差,還有很多方面支持很差。對模板支持差,這種情況一直到VS2003(C++7.0)都沒有很好的解決,VS2003不支持模板的偏特化。

GNU Dev C++ 4.9.9.2比較小,安裝後大約50M大小(VC++6.0安裝後至少幾百M),可以開發C,C++,Win32應用程序等等,使用Dev C++ 4.9.9.2編譯C++程序,用的是g++3.4.2編譯器。Dev C++對標准C++支持較好,據我所知,僅僅友元模板函數在類裡面實現可以正常編譯,但是放到類外就不行,到目前為止僅僅發祥這一個問題,還有一個問題就是代碼最大優化,你需要便宜環境設置裡面加上命令-O3。

另外,我還使用過Intel C++ 9.0,以插件的形式安裝在VC++6.0這個IDE上,對C++的支持力度僅次於Dev C++ 4.9.9.2,但是編譯代碼以後執行速度稍快一點。

如果你喜歡使用MS的編譯器,建議使用VC++8.0[VS2005],缺點是占據硬碟空間很大,加上MSDN,至少2GB以上。

如果你是C++初學者,使用環境Windows平台,GNU Dev C++ 4.9.9.2(g++3.4.2)可能是你非常好的選擇。如果你使用linux平台,可以升級g++編譯器版本到4.2.1甚至更高。

B. intel visual fortran compiler幹嘛用的

Visual Numerics Inc已於2004年初完成與Intel的結盟,將當時的IMSL Fortran Library的新版本v5.0整合在Intel Visual Fortran系列產品之專業版(承襲購並之Compaq Visual Fortran功能架構)中。2005.6月份發布其最新版本Intel Visual Fortran Compiler v9.0.018

針對Intel® CPU Pentium® 4, Xeon�6�4, Centrino�6�4 Itanium® 做最佳的福傳編譯,支持OpenMP及Auto-Parallelism特色. 「英特爾R Visual Fortran 編譯器Windows* 版」將Compaq Visual Fortran* (CVF) 語言的豐富功能與英特爾代碼生成及優化技術結合在一起,構成面向英特爾體系結構的下一代Fortran 編譯器。它提供250 多條CVF 與英特爾Fortran 命令及同義詞,使編譯器更加易於使用,同時仍能作為插件融入Microsoft Visual Studio 環境,並提供直接來自英特爾的技術支持。此編譯器是一套功能齊備的Fortran 95 編譯器,具有先進的優化功能,可以使Fortran 應用程序在英特爾R IA-32 與安騰2 處理器上快速運行。英特爾® 視覺FORTRAN 編譯器為窗口* 標記一個里程碑為FORTRAN 開發商。它帶來Compaq 視覺FORTRAN * 語言特色與英特爾編譯器代碼世代和優化技術一起。

性能、兼容性、技術支持:採用「英特爾 Visual Fortran 編譯器 9.0 Windows* 版」,可以提高應用程序速度,並保護您在開發工具上所作的投資。先進的優化功能可以給最新英特爾® 處理器上運行的應用程序帶來出眾的性能。本產品包含標准版與專業版。「英特爾® Visual Fortran 編譯器專業版」包含 Visual Numerics, Inc. 的「IMSL* Fortran 函數庫6.0」。
目前版本號最高的Intel Fortran編譯器,需要Visual Studio 6.0以上支持,可以生成更適用於Intel晶元的高效程序,是Intel平台下最優秀的Fortran語言編譯器。大家可以考慮丟掉Fortran 77編譯系統了:P
Fortran,是由Formula Translation兩個字所組合而成,意思是公式翻譯。它是世界上第一個被正式採用並流傳至今的高級編程語言。

性能、兼容性、技術支持
使用「英特爾® Visual Fortran 編譯器 Windows* 版」,可以讓您的應用程序在英特爾® 處理器上取得前所未有的絕佳性能。

此編譯器有標准版與專業版這兩個版本提供。「英特爾® Visual Fortran 編譯器專業版」包含 Visual Numerics, Inc. 的「IMSL* Fortran 函數庫 5.0」。

客戶評價:

「在英特爾編譯器的幫助下,我們開發了大型海洋模型,充分利用了在基於英特爾的系統上所作的投資。在使用『英特爾 Visual Fortran 編譯器 Windows 版』編譯代碼時,我發現,與以前的版本相比,性能提高了大約 20%。」
- Xianyao Chen 博士
海洋模型小組組長
中國第一海洋研究所

「『英特爾 Fortran 編譯器 7.0』堪稱一流,『英特爾 Visual Fortran 8.0』做得還要好。英特爾將 Compaq Visual Fortran 與『英特爾 Fortran』中最優秀的功能結合在一起,實現了一次巨大的飛躍。」現在為9.0最新版!

sual Fortran 與『英特爾 Fortran』中最優秀的功能結合在一起,實現了一次巨大的飛躍。」現在為9.0最新版!

C. Intel的編譯器有哪些

1、Intel 編譯支持 IA-32、Intel 64、Itanium 2、Intel Atom 處理器和某些非 Intel 的兼容處理器(例如某些 AMD 處理器)。開發人員應當檢查系統需求。適用於 IA-32 和 Intel 64 的 Intel C++ 編譯器的主要特點是自動向量化器,它能夠生成 SSE、SSE2 和 SSE3 的 SIMD 指令及其適用於 Intel 無線 MMX 和 MMX 2 的嵌入式變種。
2、Intel C++ Compiler 進一步支持 OpenMP 3.0 和適用於對稱多處理的自動並行化。藉助於 Cluster OpenMP 的附加能力,編譯器還可為分布存儲多處理根據 OpenMP 指示自動生成消息傳遞介面調用。
3、Intel C++ Compiler 可通過四種方式獲得,它分別是 Intel Parallel Studio、Intel C++ Compiler 專業版、Intel 編譯器套裝和 Intel Cluster Toolkit 編譯器版的一部分。該編譯器的最新發布是 Intel C++ Compiler 14.0 版本.

D. 英特爾使用其編譯器和軟體代碼的「庫」合乎道德嗎

代碼庫是由機器語言組成的,你所說的「道德」是指那些方面。軟體的行為邏輯?還是.....?

E. 如何安裝Windows版英特爾C++編譯器求解

在安裝Windows版的英特爾C++編譯器之前,你必須安裝以下開發工具中的一種: Microsoft Visual C++* 6.0 Microsoft Visual Studio 98 Microsoft Visual C++ .NET* 2003 標准版或更高 Microsoft Visual Studio .NET 2003, 並且安裝Visual C++ Microsoft Visual Studio 2005* 或 2008, 標准版或更高, 並且安裝Visual C++ Microsoft Visual C++ 2005* Express Edition 註:如果你安裝的是MS VC 2005/2008 Express Edition,您還必須安裝Windows Server 2003 R2 Platform SDK (Core SDK),在這樣的配置下,英特爾C++編譯器將只能在命令行下使用,無法集成到Visual Studio的IDE中。具體請查閱編譯器的Release Notes的System Requirements章節。 如果您已經滿足了以上要求,您就可以開始安裝英特爾C++編譯器了。在安裝之前,請確保MS VC及MS VS是關閉的。 雙擊英特爾C++編譯器的安裝程序就開始了安裝,安裝過程中會要求您輸入序列號或提供許可文件(.lic文件)。

F. 英特爾SystemStudio2016中提供哪些新功能

支持和優化令人信服的系統和應用用法

高度優化的編譯器和庫,包括英特爾®C++編譯器、英特爾®集成性能基元庫(英特爾®IPP)以及英特爾®數學內核庫(英特爾®MKL),幫助開發人員將性能提高四倍。

分析搶占式實時Linux*上的應用性能

優於性能分析器支持實時Linux*系統解析,開發人員可迅速准確地定位搶占式Linux系統中的性能熱點。高優先順序的任務可能隨時中斷數據收集器。英特爾®VTune™Amplifier持續通過低開銷采樣收集數據。享用並發性、等待和鎖定分析,另加上下文交換信息。找出系統軟體和應用代碼中的性能熱點。

分析虛擬化環境中的應用性能

性能分析器支持虛擬化環境解析。觀察和分析客戶操作系統實例上運行的嵌入式應用的性能和行為。通過單一平台,在虛擬化環境中優化多種操作系統和應用的性能,節約硬體成本。

快速鑒別浪費功耗的軟體

功耗分析器支持Android*、Windows*,現在還支持Linux,延長運行Linux的IoT、移動和嵌入式設備的電池使用壽命,優化無風扇系統的散熱。功耗分析器精確顯示應用和系統軟體的喚醒,這些是主要功耗對象。

快速隔離復雜的系統問題

全面的系統全局硬體和軟體事件跟蹤有助於通過時間戳和糾正跟蹤信息有效地精確查找問題,分析軟硬體之間的復雜交互。

系統全局的封閉式機箱調試

通過標準的USB連接進行基於JTAG*的調試和追蹤,增加靈活性,降低成本,無需訪問JTAG埠。

將洞察力擴展到Windows* System,增強可靠性

適用於Microsoft*WinDbg* KernelDebugger的系統調試和追蹤擴展幫助簡化平台上線和Windows驅動驗證。調試完全停止的Windows系統(包括驅動),通過英特爾®處理器跟蹤,更快地中斷並隔離復雜的運行時問題。

高效調試計算密集的代碼,卸載至圖形內核

使用簡單的編譯程序指令(例如#pragma)標記計算密集的代碼,跨處理器和圖形內核協作執行。目前擴展調試器支持除了處理器內核之外,還可調試圖形內核上運行的代碼。

G. 如何在命令行中使用intel c++編譯器,並使用openmp和mkl來編譯自己的程序,並運算

1、icc

Intel C/C++編譯器接受遵守ANSI C/C++ , ISO C/C++ standards,GNU inline ASM for IA-32 architecture標準的輸入。與linux下常用的gcc兼容並支持更大的C語言擴展,包括源文件、命令行參數、目標文件。不支持gcc的inline方式的匯編。例,f.c

#include<stdio.h>

int main(int argc, char* argv[]){

printf("Hello\n");

return 0;

}

編譯:icc -c f.cpp -o f.o

鏈接:icc f.o -o f

運行:./f

注意,編譯與鏈接都由icc來完成,icc常用命令行參數:

-o 輸出文件命名

-I include路徑

-L lib路徑

-l 包含的lib名

-c 僅生成目標文件(*.o),不鏈接

-On n=0,1,2,3 編譯器優化選項,n=0關閉編譯器優化,n=3使用最激進的優化

-c99[-] 打開/關閉 c99規范的支持

詳細的請參照icc的manpage.

2、ifort

Intel Fortran編譯器支持F77/90/95標准並與CFV(Compaq Visual Fortran)兼容。例,f.f90

program f

print *, "Hello"

stop

end

編譯:ifort -c f.f90 -o f.o

鏈接:ifort f.o -o f

運行:./f

編譯與連接同樣由ifort來完成,ifort常用命令行參數:

-o 輸出文件命名

-I include路徑

-L lib路徑

-l 包含的lib名

-c 僅生成目標文件(*.o),不鏈接

-On n=0,1,2,3 編譯器優化選項,n=0關閉編譯器優化,n=3使用最激進的優化

-std90 使用F90標准編譯

-std95 使用F 95標准編譯

-f77rtl 編譯使用F77運行方式的代碼(用於解決特殊問題)

These options optimize application performance for a particular Intel? processor or family of processors. The compiler generates code that takes advantage of features of the specified processor.

Option

Description
tpp5 or G5 Optimizes for Intel? Pentium? and Pentium? with MMX? technology processors.
tpp6 or G6 Optimizes for Intel? Pentium? Pro, Pentium? II and Pentium? III processors.
tpp7 or G7 Optimizes for Intel? Pentium? 4, Intel? Xeon?, Intel? Pentium? M processors, and Intel? Pentium? 4 processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
On Intel? EM64T systems, only option tpp7 (Linux) or G7 (Windows) is valid.

About tpp:

http://www.ncsa.illinois.e/UserInfo/Resources/Software/Intel/Compilers/9.0/main_for/mergedProjects/copts_for/common_options/option_tpp567_g567.htm

https://wiki.ke.e/display/SCSC/Compilers+and+Libraries

Intel Fortran Compiler Options: http://geco.mines.e/guide/ifort.html

Intel(R) Fortran Compiler Options: http://www.rcac.pure.e/userinfo/resources/common/compile/compilers/intel/man/ifort.txt

ifort編譯器提供了非常多的優化參數

$ ifort --help | more 查看就可以
也可以定位到某個參數

$ifort --help | grep -5 '-mkl'
-5表示顯示查找到的行及下面5行的內容。

3、Intel MKL數學庫針對Intel系列處理器進行了專門的優化,主要包含的庫有:

基本線形代數運算(BLAS)

向量與向量、向量與矩陣、矩陣與矩陣的運算

稀疏線形代數運算

快速傅立葉變換(單精度/雙精度)

LAPACK(求解線形方程組、最小方差、特徵值、Sylvester方程等)

向量數學庫(VML)

向量統計學庫(VSL)

高級離散傅立葉變換

編譯:

icc multi.c -I/opt/intel/mkl/include –L/intel/mkl/lib –lmpi_ipf –o multi

4、MPI程序編譯

消息傳遞介面(MPI)並行程序設計模型程序的編譯命令。例,f.c

include<stdio.h>

#include<mpi.h>

main(argc,argv)

int argc;

char *argv[];

{

char name[BUFSIZ];

int length;

MPI_Init(&argc,&argv);

MPI_Get_processor_name(name, &length);

printf("%s: hello world\n", name);

MPI_Finalize();

}

編譯與連接均使用mpicc,參數與mpicc中定義的編譯器相同,這里與icc相同。

mpicc –c hello.c –o hello.o

mpicc hello.o –o hello

運行使用mpirun 命令,將運行需要的節點定義在文件中並在-machinfile中制定。

文件: nodelist

node1

node1

node2

node3

運行:

$mpirun –machefile nodelist –np 4 ./hello

node1: hello world

node1: hello world

node2: hello world

node3: hello world

5、32位向64位的移植

32位程序到64位移植中應注意的常見問題:

數據截斷:

由於long類型變數的運算(賦值、比較、移位等)產生。long定義在x86上為32bits,而在ia64上為64bits.容易在與int型變數運算時出現異常。

處理方法:盡量避免不同類型變數間的運算,避免將長度較長的變數賦值到較短的變數中,統一變數長度可以解決這個問題。簡單的對於32位轉移到64位可以將所有long定義轉換為int定義。

H. 怎樣在vs2013中使用icc英特爾編譯器

自帶編譯器,編譯C/C++的cl.exe,編譯C#的csc.exe。
在VS的安裝目錄下找到一個vscvarsall.bat(我的在D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC下),把它拖進命令提示符中,回車運行後就能單獨使用編譯器。

PS:
C/C++編譯:cl 源文件.c/cpp
C#編譯:csc 源文件.cs

1. 「cl不是可用的內部命令或可執行程序」
----原因:環境變數Path沒有設置好。
----解決:在環境變數Path中添加VC的bin目錄。Path= D:\Microsoft Visual Studio 9.0\VC\bin。在D:\Microsoft Visual Studio 9.0\VC\ce\bin下還有其他一些編譯器,看名字是交叉編譯用的
2.「mspdb80.dll無法找到」
----原因:vs2008的VC\bin目錄下缺少msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe這四個文件。
----解決:在D:\Microsoft Visual Studio 9.0\Common7\IDE下復制這四個文件到VC\bin。
3.解決以上問題以後,可以直接在命令行的任何目錄下編譯C/C++文件了。可是又出現新狀況:
「fatal error: cannot open include file」
----原因:vs2008未設置include和lib的環境變數。
----解決:
3.1在環境變數里添加變數INCLUDE,包含進VC\Include和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include(這個是安裝vs時自動安裝在C盤的)兩個目錄
INCLUDE=D:\Microsoft Visual Studio 9.0\VC\include; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
3.2添加變數LIB,包含進VC\lib和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib(這個也是安裝vs時自動安裝在C盤的)兩個目錄:
LIB=D:\Microsoft Visual Studio 9.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

4.提示:fatal error LNK1104: 無法打開文件「kernel32.lib」,(在IDE裡面運行沒有問題,因為IDE中採用了另外的封裝了庫)
----原因:vs2008未設置include和lib的環境變數。
----解決:在環境變數里添加變數LIB,C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
或者將kernel32.lib直接到vc的lib目錄下也可以

I. Intel C++ Compiler與gcc對比有什麼優缺點

icc 是Intel公司專門為Wintel平台設計,有針對性的做了優化,缺陷也很顯然,既然有針對性,也就不具備通用性。使用icc編譯,可能會使編譯出來的程序有更好的執行效率,但也可能使其在非Intel CPU上運行異常。並且,在某些情況下,即使在Wintel平台上也會崩潰。
gcc的優勢在於其通用性,目前主流的所有平台,它基本上都支持。使用-O3優化編譯後的執行效率,也不錯。
在Win平台上,編譯後執行效率最好的,依然是微軟的vs,這可能與win系統是他們家出的有關。
使用icc帶來的優勢,並不突出,還是建議不要用了。
如果限定在win平台上開發,使用vc或gcc更合適一些。我個人推薦gcc,vc的ide環境過於龐大,不太喜歡,但win平台上主流的c開發工具還是vc,有不少開源的工程都使用它,如果你用到了這些開源代碼,就不得不用了。

閱讀全文

與英特爾編譯器和代碼庫相關的資料

熱點內容
ug命令視頻大全 瀏覽:610
箱子裝貨物最小容量編程 瀏覽:98
cad2014教程pdf 瀏覽:200
怎麼遍歷伺服器同一類型的文件 瀏覽:436
惠普戰66畫圖編程 瀏覽:805
java面向對象作業 瀏覽:570
cad插件製作加密狗 瀏覽:923
cmd命令對話框 瀏覽:290
安卓應用怎麼常駐 瀏覽:677
安卓手機怎麼群發小費才不會被鎖 瀏覽:741
相機文件夾設置 瀏覽:856
centos7php怎麼用 瀏覽:119
查看linux操作系統版本的命令 瀏覽:383
收支預演算法怎麼做 瀏覽:876
模板如何上傳到伺服器 瀏覽:372
如何同步安卓信息到新ipad 瀏覽:365
騰訊雲輕量伺服器流量警告 瀏覽:504
u盤備份linux 瀏覽:121
高壓縮比活塞 瀏覽:92
壓縮彈簧標准件 瀏覽:26