原创 N的階乘遞歸實現

#include <iostream> using namespace std; int GetNum(int n) { int sum = 1; if(1 == n) { return 1

原创 高併發的問題總結

同步I/O與異步I/O        線程在執行中如果遇到磁盤讀寫或網絡通信(統稱IO操作),通常要耗費較長的時間,這時OS會剝奪此線程的CPU控制權,使其暫停執行,同時將資源讓給其他的工作線程,這種線程調度方式稱爲阻塞。當I/O操作完畢

原创 VS中的release與debug的區別,以及編譯出現的問題

二者的詳細區分: Debug:Debug通常稱爲調試版本,通過一系列編譯選項的配合,編譯的結果通常包含調試信息,而且不做任何優化,以爲開發人員提供強大的應用程序調試能力。 Release:Release通常稱爲發佈版本,是爲用戶使用的,一

原创 C++異常處理(try和catch)

我們通常希望自己編寫的程序能夠在異常的情況下也能作出相應的處理,而不至於程序莫名其妙地中斷或者中止運行了。在設計程序時應充分考慮各種異常情況,並加以處理。 在C++中,一個函數能夠檢測出異常並且將異常返回,這種機制稱爲拋出異常。當拋出異常

原创 提高程序運行效率的10個簡單方法

對於每一個程序員來說,程序的運行效率都是一個值得重視,併爲之付出努力的問題。但是程序性能的優化也是一門複雜的學問,需要很多的知識,然而並不是每個程序員都具備這樣的知識,而且論述如何優化程序提高程序運行效率的書籍也很少。但是這並不等於我們可

原创 類與類之間的幾種關係

1.依賴 A類使用到了B類一部分屬性或方法。不會主動改變B類內的內容。 代碼化一些: 類A把類B的實例作爲方法裏的參數使用 類A的某個方法裏使用了類B的實例作爲局部變量 類A調用了類B的靜態方法 駕駛員從駕駛學校學習駕車技巧,調用Driv

原创 鏈表合併

將兩個有序鏈表合併 題目:已知兩個鏈表head1 和head2 各自有序,請把它們合併成一個鏈表依然有序。(保留所有結點,即便大小相同)。 遞歸實現: 1.函數返回條件是有一個鏈表結束,則返回另一個鏈表 2.取兩個指針data域較小的作爲

原创 快速排序總結C++實現

1 概念 快速排序使用的是分治思想。 分治法              分治,字面上的解釋是“分而治之”,就是把一個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即

原创 判斷單向鏈表中是否有環C++實現

      原文:https://blog.csdn.net/caoshangpa/article/details/80363335            判斷鏈表是否有環的經典的方法是快慢指針的方法。       快指針pf每次移動兩個

原创 二分查找算法C++實現

二分查找的應用場景: 二分查找目的是在一堆數中找到指定的數。 使用二分查找這些數據需要有的特徵(面試容易問): 存儲在數組中。 有序的排列。 如果是鏈表就無法使用二分查找。 順序數組是遞增遞減,是否有重複的數據沒有關係。 二分查找的實現

原创 修改Linux系統的mac,IP,Mask地址

注意事項: (1)修改Mac地址需要,關閉網卡,修改完成後再打開網卡 (2)ioctl修改網卡的mac,IP,mask地址 //Description: 關閉本地指定網卡 int ifconfig_ethx_down_API(con

原创 modbus

Modbus基礎 1簡述,modbus是一種工業用的多設備之間的主從通信協議。只要兩臺設備之間,是採用modbus協議的主從關係,並連接到相同網絡,即可互相通信。因爲Modbus只是協議,而且只規定了數據幀,底層連接,可以是232,48

原创 向本地網絡中廣播特定的控制幀,設備端檢測到控制幀時,發送自己的網絡配置信息,如IP,Mask,Mac地址

        當一臺嵌入式設備連接到PC或多個設備通過交換機與PC相連時,由於設備的IP地址可能未知,那麼就需要通過工具進行設備探測,來獲取設備的IP地址和網絡掩碼,獲取到的參數可以由PC來參考設備本地的網絡參數和PC程序中用來打開設備