2015-06-24 22 views
-2

我正在將一個linux C++代碼移植到windows中。但我找不到函數fetch_and_store的替代品。 下面的代碼:「fetch_and_store」是什麼意思?

size_t fn(size_t index) 
{ 
    // do something here 
    return fetch_and_store(array[index], size_t(0)); 
    // the type of array is size_t* 
} 

其實,我不熟悉GCC compiler.And這可能是我在計算器的第一個問題。如果我做錯了,請告訴我。謝謝。

+0

爲什麼'C'? [@CoryKramer的_note:設置一個計時器5分鐘,我敢肯定我們會在計時器到期之前再獲得一個計時器。] –

+1

@SouravGhosh這次'size_t'讓我感動了:)我們會看看下一篇文章到底是什麼,到目前爲止,它的1 C和1 C++ – CoryKramer

回答

0

你必須告訴我們函數來自哪裏(什麼庫,頭等),因爲它不是C++標準庫的一部分。

從單獨的名稱,它聽起來就像從C++標準庫的等效將std::atomic::exchange

T exchange(T desired, std::memory_order order = std::memory_order_seq_cst); 

以原子具有所需取代基礎值。操作是讀取 - 修改 - 寫入操作。內存根據訂單的價值受到影響。

+0

*是否超出了C++標準? –

+1

他的'fetch_and_store'版本有兩個參數,所以這可能不是那個。 – Kyle

+1

@AdN我的意思是'fetch_and_store'不是標準中的函數。按名稱判斷,如果它存在,它將在['std :: atomic'](http://en.cppreference.com/w/cpp/atomic/atomic)中,但正如我所指出的那樣,沒有這樣的函數,認爲「交流」聽起來像是一個候選人。 – CoryKramer