簡體   English   中英

小單元測試,msvc

[英]small unit tests , msvc

當我進行小型單元測試(從我的庫中調用我的 function 或調用在 main() 之前嵌入的一段代碼的小型 exe 時,Linux 中的速度似乎比 msvc 中快 50 倍:

1) 在 Linux 中:

vi test1.c; 剪切和粘貼包括。 剪切和粘貼代碼。 添加 int main(int argc, char **argv) { declare_data; call_my_function(); }:wq。 cc test1.c &&./a.out 完成每一步都需要幾秒鍾,如果沒有的話。 幫助腳本讓它秒。

2) 在 msvc 中:

創建控制台項目。 直到項目創建完成,它已經比整個(1)更多的時間。 粘貼代碼。 擺弄項目設置。 嘗試通過 argv。 嘗試傳遞不同的 argv。

似乎一切都比 Linux 慢 10 倍。

根據您的經驗,在 msvc 中可以在幾秒鍾內真正快速地創建和完成小型單元測試?

沒有什么能阻止您從命令行編譯和運行 MSVC 代碼。 實際的編譯器是一個命令行工具,因此如果 IDE 妨礙您,請繞過它。 您甚至可以找到 Vi 的 Windows 端口,並且您將擁有與 Linux 幾乎完全相同的工作流程。

但是,如果您選擇使用專為處理大型代碼庫而設計的重型 IDE,那么是的,會有相當多的開銷。

除非您編寫 MSVC 插件以使其更快、更輕松地完成這些事情。 (如果你這樣做了,請將其公開,因為我們很多人會發現它很有用。;))

如果您僅使用 Visual C++ 來構建您的測試,則可以改用MinGW

它看起來像是你在使用 VC++ 解決方案,但對於遇到這個問題的其他人來說,有 Visual Studio 的臨時項目功能。 只有某些項目模板支持這一點,而不是我能找到的任何 c++。 您可以創建自己的模板嗎? 有關配置臨時項目的更多信息,請參閱MSDN ,它在 2005 至 2010 Visual Studios 中可用。

暫無
暫無

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

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