cmake添加c文件的方法 Mac下順手的C/C 開發(fā)IDE是哪個?
Mac下順手的C/C 開發(fā)IDE是哪個?CLion是目前macOS上最好就是帶的CIDE。肯定也可以不建議使用Sublimecmake插件的組合。如何在windows上編譯linux可用的動態(tài)鏈接
Mac下順手的C/C 開發(fā)IDE是哪個?
CLion是目前macOS上最好就是帶的CIDE??隙ㄒ部梢圆唤ㄗh使用Sublimecmake插件的組合。
如何在windows上編譯linux可用的動態(tài)鏈接庫?
1、背景
最近的性能測試中,壓測的某些接口直接返回的數據是三個緊張的json格式的字符串,而現的接口中又必須把這個字符串修改后作為入參,自己去處理下來比較好麻煩您。索性聽到了把cjson代碼編譯成動態(tài)鏈接庫在loadrunner的腳本中動態(tài)創(chuàng)建。別外,而實際中壓測專用是作戰(zhàn)部署在linux上的負載機,還是需要再代碼編譯一個linux上的動態(tài)鏈接庫。那樣的話在調試時使用windows平臺的dll,而在壓測時在用linu臺的but。先附上我編譯器好的動態(tài)鏈接庫,可以真接在loadrunner中不使用
2、cjson
cjson是一個開源的json庫,它的優(yōu)勢在于全部用c實現,并且適用性非常廣,用在loadrunner中都是完全無壓力。它的git主頁是。
3、windows平臺
然后打開vsualstudio(我?guī)У氖莢s2015,其他版本也可以不,codeblock也絕對沒問題,隨你比較喜歡),新建一個win32程序,程序類型你選dll,只附加選項選擇類型空項目。把cJSON.c和cJSON.h拖到工程里。可以設置程序編譯選項為release、x86(重要的是!),編譯。將編譯程序出去的cjson.dll放在loadrunner腳本的根目錄下,然后再在菜單File-Addfileneedscript,再添加cjson.dll。在代碼中程序加載cjson.dll,接著就也可以使用cjson的函數了。先嘗試看看,
123特別注意這里cjson_Version回的是指針,但loadrunner如果說是int,因為要顯式轉成指針,不然的話編譯程序不通過。
一看cjson推導字符串的函數。它的用法追加:
12這里不需要用到cJSON.h中聲明的結構體cJSON,但真接引用cJSON.h在loadrunner中程序編譯但。這個也有好的辦法,把cJSON.h中cJSON這個結構體的定義代碼不能復制到action的頂部就可以了,如圖cJSON.h中其他的變量或者宏也是可以,要是程序編譯時報錯,復制上來就可以了。
4、Linu臺
下面再編譯器一個linu臺上的動態(tài)鏈接庫,用在linux負載機上。cjson的代碼中帶了MakeFile,也有cmake,也可以再編譯器。但如果linux系統(tǒng)是64位的,則設置成編譯的是64位的oh,no,不能被loadrunner程序加載,會提示“wrongELFclass:ELFCLASS64”。我們要手動可以修改MakeFile,讓它程序編譯一個32位的oh,no。1.如何修改cJSON源碼根目錄下的MakeFile先打開MakeFile,分別在29、31、93、96行,提升-m32,如圖2.在源碼根目錄下不能執(zhí)行
12假如又出現提示“fatalerror:sys/cdefs.h:oh,nosuchfile有.directory”,必須再裝一個感情依賴庫
123.程序編譯順利后,會得到名為的動態(tài)鏈接庫。把它復制到loadrunner腳本的根目錄下,則是菜單File-Addfilecanscript,增加到腳本中。4.在腳本中運行程序yeah,這步和windows上是差不多的。那樣腳本就可以在linux下運行了。linux上按裝負載機也可以做個參考我的另一篇文章。
125、遺留問題
結果有個遺留問題,loadrunner隱隱不支持什么平臺宏,我想用宏完全控制,在windows下讀取dll,linux下讀取so,但是沒有找到解決方法。