2016-05-02 37 views
4

目前看this指南使用OpenMP與C/C++程序,不知道他們在下面的報價是指由creating a magic function什麼是神奇的功能在C/C++(在問候的OpenMP)

內部GCC通過創建一個神奇函數並將相關代碼移動到該函數中來實現這一點,以便在該塊中聲明的所有變量變爲該函數的本地變量(並且因此是每個線程的本地變量)。另一方面,ICC 使用了類似fork()的機制,並沒有創建一個神奇的功能。當然,這兩種實現都是有效的,並且在語義上 是相同的。

+2

該指南不正確。 ICC還執行功能概述與GCC相同的方式。英特爾OpenMP運行時甚至包含GCC兼容層,並可與GCC編譯的程序一起使用。 PGI編譯器是沒有的。 –

+1

請參閱[此答案](http://stackoverflow.com/a/18789429/1374437)瞭解一些見解。 –

回答

5

「魔術」功能是由編譯器創建的函數 - 它的魔力來自您作爲程序員不需要做任何事情的事實,它「爲您神奇地完成」。