2013-08-06 70 views

回答

0

不要爲構造函數使用內置宏。使用以下,假設模塊名稱是「反」:

counter(sc_module_name _name):sc_module(_name) 
{ 
    cout << "Creating object " << _name; 
} 

你可以做各種事情與_name你包括<string>後。您可以使用string(),與+運營商串聯等

3

爲了獲得當前在SystemC的運行模塊的名稱:

使用sc_get_current_process_b獲得當前正在執行的進程(線程SC或方法)。然後使用get_parent獲取它的父母,這將成爲模塊。然後使用basenamename得到它的名字:

const char* name = sc_core::sc_get_current_process_b()->get_parent()->basename(); 

(處理爲簡潔起見省略錯誤)

+0

謝謝,這是我需要的東西。 但是,有沒有關於這些功能的任何文檔? 例如,如果我有一些操作系統線程與某些sc_threads並行運行,並且操作系統線程會調用這些函數會發生什麼? – yonigo

+0

我在代碼中使用了[IEEE 1666](http://standards.ieee.org/getieee/1666/download/1666-2011.pdf)和文檔('systemc-2.2.0/src/sysc/kernel/sc_simcontext。 h') – anatolyg

相關問題