reentrant

    3熱度

    1回答

    我有一個局部變量的函數是靜態的&常量,函數是否是可重入的? 這是代碼: void foo(unsigned char *pucBuffer, int iBytes, unsigned int *puiOUT) { static const long rg_uliLUT[4] = {0x00000000, 0x77073096, 0xee0e612c,

    15熱度

    1回答

    對於多人編程遊戲,我正在爲Scala開發一個後臺編譯服務器,該服務器支持編譯玩家提交的多個獨立源樹。我通過 val compilerGlobal = new Global(settings, reporter) ,然後成功運行速度快,連續編譯沒有通過實例化Global編譯對象重裝編譯器通過 val run = new compilerGlobal.Run run.compile(source

    10熱度

    1回答

    我聽說在C中,main()是可重入的,而在C++中不是。 這是真的嗎?重新進入main()函數的場景是什麼?

    1熱度

    1回答

    我已經閱讀了關於SO上重新進入主題的可能線程以及http://en.wikipedia.org/wiki/Reentrancy_(computing)。 我可能會得到重入功能的想法。但是當我閱讀wiki網站上的例子時,我非常困惑。 第一個例子: int t; void swap(int *x, int *y) { t = *x; *x = *y; // hardware interru

    10熱度

    4回答

    對於VHDL中的過程是否可以執行兩個或多個順序運行? 如果在順序執行過程未完成時發生另一事件(在靈敏度信號列表中)會發生什麼? 是否有可能或者我的VHDL模型記住過程是完全錯誤的?

    0熱度

    1回答

    我嘗試了很多,但無法弄清楚錯誤是什麼。 關於此的任何詳細解釋將會非常有幫助。 所以基本上我正在嘗試編寫一個可重入的解析器,這些是我的文件。 Lex1.ll %{ #include "Globals.h" #include "yac1.tab.hh" extern "C" { int yylex(void); } %} alpha [A-Za-

    2熱度

    1回答

    在APUP 12.5節,提到: 「 如果函數是可重入相對於多線程,我們說它是線程安全的這不告訴。但是,我們是否該功能在信號處理程序方面是可重入的。「 我很困惑爲什麼函數是線程安全的,但可能不是異步信號安全的。 有沒有例子? 感謝

    1熱度

    1回答

    我有麻煩的步驟,以使我的野牛/ flex解析器折返與最少量的大驚小怪。 問題似乎出現在詞法分析器中。由於所有解析器都是可重入的,因此我不能再直接分配yylval。相反,根據the Flex manual,我不得不調用此函數: void yyset_lval (YYSTYPE * yylvalp , yyscan_t scanner); 但問題是,YYSTYPE是整型。它不是一個動態分配的值,它

    3熱度

    4回答

    我注意到下面的代碼塊: final Lock s = new ReentrantLock(); for(int i = 0 ; i < 1000 ; i++) { s.lock(); System.out.println(i+" :" +s.tryLock()+" "); } 打印: 0 :true 1 :true 2 :true 3

    7熱度

    2回答

    這裏的代碼,IBM公司表示,一個片段是折返的: /* reentrant function (a better solution) */ char *strtoupper_r(char *in_str, char *out_str) { int index; for (index = 0; in_str[index]; index++) out_str[inde