原创 shell 學習雜記

1. shell腳本for循環讀取數據 。例如:讀取上一級目錄,循環打印出來。            for file in `ls  ../`;do                   echo ${file}            

原创 valgrind 編譯海思

https://blog.csdn.net/understand125/article/details/80689564 https://blog.csdn.net/fengbingchun/article/details/9775641

原创 c++ 函數模版

1. template<typename AnyType> void Swap(AnyType &a,  AnyType&b) {    AnyType  temp;     temp = a;    a = b;    b = temp

原创 c語言字節對齊方式

1. 更改C編譯器的缺省字節對齊方式 在缺省情況下,C編譯器爲每一個變量或是數據單元按其自然對界條件分配空間。一般地,可以通過下面的方法來改變缺省的對界條件: · 使用僞指令#pragma pack (n),C編譯器將按照n個字節對齊。

原创 C++ 類指針問題, 類指針=0,能調用類內部成員函數

/* 測試類指針 */ #include <iostream> #include <stdlib.h> #include <stdio.h> #include <string.h> using namespace std; class

原创 linux valgrind 檢查內存是夠泄露

安裝下載請參考 https://blog.csdn.net/primeprime/article/details/79539504 使用說明 https://blog.csdn.net/suifengpiao_2011/article/d

原创 winSCP連接不到VMware(ubuntu)

1. 查看ssh服務狀態    sudo service sshd status 2. 安裝ssh服務     sudo apt-get  install openssh-server         sudo apt-get insta

原创 可重入函數定義

如果一個進程的多條線程可以同時安全地調用某一函數,那麼該函數就是可重入的。 安全:無論其他線程調用該函數的執行狀態如何,函數均可產生預期的結果。 1. 定義:函數由兩條或者多條線程調用時,即便是交叉執行,其效果也與各線程以未定義順序依次調

原创 Makefile 學習筆記

此處參考別人的Makefile結構介紹 makefile文件中:clean寫法: .PHONY:clean clean:           rm *.o  -rf make  clean  

原创 零長度數組 ,

不佔用結構體空間,使用分配內存,但是可以使用,使用完不用釋放內存。零長度數組內存大小沒有限制, 例如: typedef struct {       char *data;       char buf[0]; }buf_t;   int

原创 linux 編譯靜態庫文件

編譯步驟: gcc -c  *.c 編譯靜態庫 ar  -r libtest.a   *.o 編譯執行文件 gcc main.c -L  libtest.a  -o main ./main   https://www.cnblogs.co

原创 Linux原子操作,讀寫鎖機制

若干彙編語言指令具有“讀--修改--寫”類型 。也就是說,他們訪問存儲單元兩次,第一次讀原值,第二次寫新值。 假定運行在兩個CPU上的兩個內核控制路徑試圖通過執行非原子操作來同時“讀--修改--寫”同一個存儲器單元。首先,兩個CPU都試圖

原创 同步和臨界區(資源競爭問題)

     實現可重入內核需要利用同步機制:如果內核控制路徑對某個內核數據結構進行操作時被掛起,那麼,其他的內核控制路徑就不應該再對該數據結構進行操作,除非它已被重新設置成一致性(consistent)狀態。否則,兩個控制路徑的交互作用將破

原创 linux 學習雜記

1.Linux 最大線程數 /proc/sys/kernel/pid_max 2. 線程棧大小(thread_info)8K。 3. 線程處理函數和宏       3.1 雙向鏈表創建採用宏定義方式。  LIST_HEAD(list_na

原创 vmware 網絡不可達

1. ifconfig -a   查看當前的網卡 2. cd  /etc/sysconfig/network-scripts/ 3. 打開對應網卡名稱文件, 具體修改內容參考(https://www.cnblogs.com/GJ-ios/