Time of Update: 2018-12-03
Ø READELFreadelf可用來顯示ELF格式可執行檔的資訊。比如用readelf查看hello.o中的各個Section的結果如下:$ readelf -S hello.oThere are 15 section headers, starting at offset 0x228: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al
Time of Update: 2018-12-03
在基於ARM的嵌入式系統開發中,常常用到交叉編譯的GCC工具鏈有兩種:arm-linux-*和 arm-elf-*,兩者區別主要在於使用不同的C庫檔案。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT專門為嵌入式系統的開發的C庫newlib.Glibc。uClibc/uC-libc以及 newlib都是C語言庫檔案,只是所應用的領域不同而已,Glibc是針對PC開發的,uClibc/uC-libc是與Glibc
Time of Update: 2018-12-03
linux minicom 是linux 下串口調試工具,類似於windows下的超級終端。一、安裝minicom:確認一下系統是否已經安裝minicom,如果沒有請自行安裝。[root@web Server]# rpm -q minicomminicom-2.1-3二、配置(需要root使用者)執行minicom –s後出現配置介面 ==========================[configuration]Filename and paths File transfer
Time of Update: 2018-12-03
在基於ARM的嵌入式系統開發中,常常用到交叉編譯的GCC工具鏈有兩種:arm-linux-*和 arm-elf-*,兩者區別主要在於使用不同的C庫檔案。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT專門為嵌入式系統的開發的C庫newlib.Glibc。uClibc/uC-libc以及 newlib都是C語言庫檔案,只是所應用的領域不同而已,Glibc是針對PC開發的,uClibc/uC-libc是與Glibc
Time of Update: 2018-12-03
《精通unix下c語言-編程與項目實踐》學習筆記1.庫的分類 庫可分為靜態庫和動態庫兩種。
Time of Update: 2018-12-03
用了很久虛擬機器,最近想在真機上體驗下linux,freebsd這些作業系統,所以決定安裝到硬碟裡,應為沒有光碟機,只好用u盤來安裝。記錄下安裝過程。1.准本工作 a.xp,電腦原本就有了,只要改變下分區就行了 b.freebsd,因為是u盤安裝,下載freebsd的memstick.img,我安裝的時候最新版是8.2 c.linux,選擇的發行版是arch的,它的配置比較靈活,安裝的時候就可以配置grub,而且用的還是grub 1,新版grub2有點不習慣,3個系統都用grub來引導的 d.
Time of Update: 2018-12-03
安裝很簡單下載vmware的安裝包,然後#chmod +x vmware-xxxx#./vmware-xxxx 運行安裝程式就可以了。因為arch沒有rc*.d的設定檔,安裝過程中會有提示,點確定就行了。安裝完了啟動遇到問題,原來是它把控制指令碼安裝到/etc/init.d裡面了,但是又自己在rc.d裡面找,直接:#cp /etc/init.d/vmware
Time of Update: 2018-12-03
作者:snsn1984這是這一次零基礎入門的最後一天,這次的主要任務是實戰一個Pass。任務描述:實現一個Pass,該Pass可以讀取一個程式中所有的for迴圈的迴圈頭的名字並輸出。同時,實現一個測試案例去測試輸出的結果是否正確。該Pass的輸入應該包含嵌套迴圈。在這個任務完成之後,應該已經達到可以達到可以分析和實現LLVM的Pass,尋找和分析LLVM的源碼,尋找需要使用的文檔,並且可以知道下一步該如何自己學習LLVM。-------------------------------------
Time of Update: 2018-12-03
linux將一切看作檔案,硬體裝置也有相應的條目/dev/proc內的特殊檔案允許對驅動和核心資訊的高層訪問ls /proccat /proc/cpuinfo (cpu資訊) cat /proc/meminfo (記憶體資訊)每次讀取這些檔案的內容時,資訊都會及時更新 有的檔案可以修改(需要超級使用者權限)。比如能同時開啟的檔案數是一個linux核心參數它的值cat /proc/sys/fs/file-max /proc下以數字命名的子目錄提供對正在啟動並執行程式的資訊的訪問each
Time of Update: 2018-12-03
作者:snsn1984開篇語:學習LLVM的過程是一個漫長而艱巨的過程,需要大量的時間和精力。不僅僅如此,開始的過程也不輕鬆。一個好的開始就是成功的一半。我結合了自己學習的過程,以及給別人推薦學習的過程,整理出了這個七天LLVM零基礎入門的系列部落格。主要的目標是讓沒有LLVM基礎的人,經過這一系列的學習,可以完成一些Pass的工作,並且可以成功的自己去自主學習,知道自己該怎麼學習,知道自己該去學些什麼。如果你有什麼建議,歡迎反饋,歡迎探討。第一步,要對LLVM有一個初步的印象這裡,http:/
Time of Update: 2018-12-03
1.“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路徑已經在系統內容變數中了,如果可執行檔 在這幾個標準位置,在終端命令列輸入該軟體可執行檔的檔案名稱和參數,斷行符號即可。2.如果不在標準位置,檔案名稱前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個“一勞永逸”的辦法是把這個路徑加 入環境變數。命令 “PATH=$PATH:路徑”可以把這個路徑加入環境變數,但是退出這個命令列就失效了。要想永久生效,需要把
Time of Update: 2018-12-03
如果沒有安裝ftp服務請先下安裝vsftpd:yum install vsftpd 添加一個使用者usernameuseradd -d /home/sea/ -m username該使用者的ftp根目錄為/home/sea,使用-m參數可以讓系統為你建立這個目錄 然後添加密碼passwd
Time of Update: 2018-12-03
1.主流資料庫目前軟體開發過程中使用的主流資料庫有:Oracle、DB2、SQL Server、MySQL,它們各有自己的特徵,區別如下:Oracle:Oracle,甲骨文的核心產品,能在所有主流平台上運行(包括
Time of Update: 2018-12-03
Linux下如果我們需要知道2809號連接埠的情況的話,我們可以這樣,如下命令: $netstat -pan|grep 2809 tcp 0 0 0.0.0.0:2809 0.0.0.0:* LISTEN 9493/java 下面是常用參數的解釋: NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v][interval] -a 顯示所有串連和監聽連接埠。 -b
Time of Update: 2018-12-03
cat /proc/cpuinfo 或者vim /proc/cpuinfo 查看系統資訊 cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx) cat /proc/interrupts - 中斷 cat /proc/ioports - 裝置IO連接埠 cat /proc/meminfo - 記憶體資訊(i.e. mem used, free, swap size) cat /proc/partitions -
Time of Update: 2018-12-03
Linux系統許可權簡介(一)linux系統許可權簡介:(1)一個檔案一共有三個組別:使用者、群組、其它其中每個組包含三種許可權:讀r、寫w、執行x也就是說一個檔案共有9個許可權屬性。從左往右一到三位是[使用者],四到六位是[群組],七到九位是[其它]舉例:用rootexplorer管理器開啟任意一個檔案,可以看到它的許可權:rw-r--rwx 他的意思就是[使用者]對其享有讀寫權限,[群組]享有讀許可權,[其它]享有讀寫執行許可權。(2)許可權與數字對應關係很多時候為了方便編寫指令碼、使用終端
Time of Update: 2018-12-03
系統允許一個進程建立新進程,新進程即為子進程,子進程還可以建立新的子進程,形成進程樹結構模型。整個linux系統的所有進程也是一個樹形結構。樹根是系統自動構造的,即在核心態下執行的0號進程,它是所有進程的祖先。由0號進程建立1號進程(核心態),1號負責執行核心的部分初始化工作及進行系統配置,並建立若干個用於快取和虛擬主存管理的核心線程。隨後,1號進程調用execve()運行可執行程式init,並演變成使用者態1號進程,即init進程。它按照設定檔/etc/initab的要求,完成系統啟動工作,建
Time of Update: 2018-12-03
在backup.sh檔案中,寫入這些:BACKUP="/home/gfdpsdev/backup/dps_backup"TIME=$(date +%F)BACKUP_PATH=/home/gfdpsdev/backup/dps_backup/$TIMEif [ ! -p $BACKUP_PATH ]then mkdir -p "$BACKUP_PATH"ficd BACKUPtar -X *.list -zcvf $BACKUP_PATH/dps_$TIME.tar.gz
Time of Update: 2018-12-03
從網上搜尋的,這三個常用命令可能有很多重複的,有時間整理下。不過這樣也好就當加強記憶了apt-get:debian系系統的軟體包管理程式(其圖形化前端就是大名鼎鼎的新立得了),會自動幫你搞定依賴關係最常用參數:update —-與你的軟體源(在/etc/apt/sources.list中列出)更新軟體包列表,換源後需要執行upgrade —-根據update得到的源軟體庫與本地已經安裝的對比,(如果需要升級就)全部升級install
Time of Update: 2018-12-03
linux的errno定義,在標頭檔#include <errno.h> 124 EMEDIUMTYPE Wrong medium type 123 ENOMEDIUM No medium found 122 EDQUOT Disk quota exceeded 121 EREMOTEIO Remote I/O error 120 EISNAM Is a named type file 119 ENAVAIL