簡體   English   中英

節點C ++源代碼編譯錯誤

[英]Node C++ Source Code compile error

我正在嘗試在eclipse下構建node.js。 (我想使用一個IDE來逐步了解節點的內部,因此我可以回答一些問題)。 我收到了我不明白的編譯錯誤。 以下是來源中的2條相關行:

static uint64_t counter_gc_start_time;

counter_gc_start_time = NODE_COUNT_GET_GC_RAWTIME();

因此,我將其替換為(手動擴展的)宏。

counter_gc_start_time =   (do { } while (false));

但是我仍然收到編譯錯誤:

/Users/concunningham/Documents/Node/node/src/node_counters.cc:81:30: error: expected expression
counter_gc_start_time =   (do { } while (false));

我正在OS / X 10.13.4下使用編譯器標志-std = c ++ 11進行編譯。

誰能告訴我這行代碼應該做什么?

如果您查看node_counters.h

#ifdef HAVE_PERFCTR
#include "node_win32_perfctr_provider.h"
#else
...
#define NODE_COUNT_GET_GC_RAWTIME() do { } while (false)
#endif

HAVE_PERFCTR定義, node_win32_perfctr_provider.h被包括而不是的定義將編譯失敗。 NODE_COUNT_GET_GC_RAWTIME();的定義NODE_COUNT_GET_GC_RAWTIME(); node_win32_perfctr_provider.cc中

我不知道這個庫,這只是我通過查看文件看到的。 HAVE_PERFCTR的定義時間和地點超出了我的搜索范圍。 但是,如果您的計算機上有lib,那么答案就在那里。 我必須下載它才能了解更多。 正如jbp所指出的,這看起來像某種Windows東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM