原创 C-VS2019 內存泄漏檢測

平常編寫C代碼時,如果忘記釋放已分配的內存,就會造成內存泄漏,這時我們有兩種方法確認造成內存泄漏的位置,第一種是直接檢查代碼中所有涉及到內存分配的地方是否最後都進行釋放了,這種方法的缺點在於在代碼量較大時手工檢查工作量較大,如果使用了第三

原创 Scrapy-發起相同請求得到不同的返回結果原因及解決方法

今天遇到一個玄學問題,使用相同的url,請求頭headers,請求體data,在通過 >> requests.post(url,headers=headers,data=data) 請求的時候,響應沒有問題,而在使用 >> r=scr

原创 '\r'與'\n'區別及歷史來源

爲什麼要有'\r'和'\n',分別代表什麼? 首先了解什麼是電傳打印機 電傳打字機(Teletype)是隨着計算機的發展而出現的一種遠距離信息傳送器械 電傳打字機通常由鍵盤、收發報器和印字機構等組成。發報時,按下某一字符鍵,就能將該字符

原创 C-goto語句的使用

goto主要用於函數執行到一定步驟後,跳轉到返回成功或失敗的代碼。那麼爲什麼不能直接返回而需要使用goto呢?就我個人理解,使用goto的好處之一是使代碼更加簡潔清晰。 例如,當函數中有多個地方需要返回成功或失敗,而且返回之前可能需要有固

原创 Processing-當使用代碼來繪畫

最近機緣巧合知道了processing,加上原本對藝術方面感興趣,便試着學了下,中間也做出了很多有趣的作品,下面簡單介紹下processing和近期寫的程序。 官網介紹如下: Processing is a flexible softw

原创 cJSON-正確使用防止內存泄漏

主要涉及兩個釋放內存的函數:cJSON_free和cJSON_Delete,該項目在github上有如下說明: Printing JSON Given a tree of cJSON items, you can print them

原创 python基礎教程-思維導圖

Magnus Lie Hetlan的《python基礎教程》的基礎知識部分,覆蓋了前十章的內容,涉及python基本的數據類型,語法知識,語法糖等內容,本書之後的內容主要是對各個常見模塊的使用,與基礎知識部分不太相關,自行選區需要的模塊練

原创 "LNK2026 模塊對於 SAFESEH 映像是不安全的"原因以及解決方法

今天在編譯一個程序時,出現了“LNK2026 模塊對於 SAFESEH 映像是不安全的”的錯誤,stackoverflow上解釋原因如下: This happens when you link an .obj or .lib that

原创 C函數返回值的設計

C語言中返回值用來表示函數的執行結果。最簡單的返回值設計爲:返回0表示成功,返回-1表示失敗。進一步,如果有多種錯誤情況,則返回-1,而具體的錯誤在全局變量errno中(也可以返回多種負值?);如果函數執行成功,則返回0,若成功時需要返回

原创 C庫中結構體的封裝方法

當我們編寫C語言庫時,如果定義了某個結構體,並且庫的使用者需要使用到這個結構體,但我們又不希望結構體的結構暴露在外,可以採用如下方式:1.在.c文件中定義結構體2.頭文件中使用typedef爲這個結構體定義別的名稱。這樣庫的使用者只需使用

原创 Scrapy-攜帶Cookie時對scrapy接口的誤用

使用scrapy.Request或者scrapy.FormRequest時,當請求需要帶上Cookie首部的時候,直接在headers裏添加Cookie是錯誤的,通過Fiddler或者打印response.request.headers會

原创 2019-畢業半年北京生活的總結與反思

家裏有個特殊的傳統是會舉行家庭會議,討論每個人的問題和認爲需要改進的地方,並形成一個相應的改進舉措和措施。晚上“被迫”進行了一場對過去半年和未來三年的總結與反思,有所感觸,記錄於此。 半年來的工作日基本是這樣的:8:20起牀,洗漱,吃早飯

原创 Python-多進程共享數據2

多個進程之間共享list、dict等類型,可以使用multiprocessing模塊裏的Manager方法,由Manager()返回的管理器對象控制着一個服務器進程,該進程持有Python對象,並允許其他進程使用代理對其進行操作,管理器對

原创 C語言-使用evhttp實現多線程服務器

#include<sys/socket.h> #include<stdio.h> #include<pthread.h> #include<unistd.h> #include<stdlib.h> #include<evhttp.h>

原创 Python-多進程共享數據1

python的multiprocessing模塊提供了兩個方法來共享數據:Value和Array Array: 從共享內存中分配ctypes數組 Value: 從共享內存中分配ctypes對象 對於單個數字,字符或者字符串類型的同步,使用