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