轻量级单元测试Cmockery源码学习 第一章
生活随笔
收集整理的這篇文章主要介紹了
轻量级单元测试Cmockery源码学习 第一章
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Cmockery學習記錄
跑起來
在c_cpp_properties.json把庫文件路勁添加到incudePath中仍然顯示
問題描述
問題分析
- vscode中c_cpp_properties.json的"includePath"只是告訴vscode插件在哪里找到頭文件,便于進行源碼查看和debug,并沒有告訴gcc編譯器這個路徑。所以編輯器看起來沒有錯誤但是gcc編譯器找不到新增的"includePath"。
解決方案
- 添加Cmockery庫的路徑到編譯參數"args".(tasks.json)
- “Ctrl+Shift+B”運行.c文件
聯想
- Ctrl+Shift+B和run code有什么區別?
- #include <>格式:引用標準庫頭文件,編譯器從標準庫目錄開始搜索;
- #include ""格式:引用非標準庫的頭文件,編譯器從用戶的工作目錄開始搜索.
undefined reference to _run_tests
問題描述
問題分析
- undefined reference to _run_tests,轉到cmockery.h查看發現只有對 _run_tests的聲明而沒有定義
解決方案
- args加入cmockery.c文件
聯想
- 平常我們用的string.h、iostream.h文件里是只有聲明沒有定義嗎?
仍然報錯
問題描述
Building
看官方文檔發現,要想用Cmockery library and example applications必須先nmake windows文件夾下的makefile文件
在Building過程中遇到的問題和學到的
- 找不到namke
windows系統下nmake是vs下的,這樣理解不知道對不對,還好我電腦裝了vs2019,把nmake的路徑添加到環境變量path里就可以
- 找不到頭文件"malloc.h"
新發現一個查找文件工具"Everything",查找到malloc是在windows kit文件夾下,把路徑添加到環境變量path里,仍然報找不到頭文件,最終發現是要在環境變量新建一個INCLUDE,然后添加路徑,這是cl查找頭文件的規則把可能。
- 找不到頭文件"windows.h"
開始查找windos.h發現在mingw下,添加進環境變量INCLUDE報錯 No Target Architecture,搜索一下發現解決不了,最后覺得可能是mingw下的windos.h和我們需要的不一樣,windows kit下有一個Windos.h,試了一下發現是這個,學到了windos系統文件不區分大小寫。
- 成功截圖
.lib文件
.lib文件怎么用
- 費勁千辛萬苦終于nmake了makefile文件,生成了一個cmockery.lib文件,按照我近兩天的理解,這個靜態庫文件里面封裝了cmockery函數的定義,測試的時候只需要使用它就可以了,那么怎么用呢? 編譯的時候用-L鏈接靜態庫路徑就行了呀,為什么會報錯
- hhhhhh我悟了,.cpp的測試文件不可以運行,.c文件就可以了,為什么為什么為什么,c++不是兼容c嗎。
[淺談C、C++及其區別、兼容與不兼容]()
- 然而對于學習源碼來說,生成的.lib文件似乎沒什么luan用。
跑起來最終章
- 目錄結構如下,插件C/C++ Project Generator自動生成。
- 成功截圖
總結
以上是生活随笔為你收集整理的轻量级单元测试Cmockery源码学习 第一章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1800: 少水群多刷题
- 下一篇: 微信小程序毕业设计 基于微信校园跑腿小程