原创 可執行文件裝載和進程 筆記

裝載的兩種方法 覆蓋裝入 : 利用程序的局部性原理,將一個程序中出現頻率高的模塊在程序運行時始終放入內存中,其他的模塊,按照先後順序,依次被覆蓋。 如圖例子: mian部分在程序運行時始終佔用內存,加入main()函數調用A

原创 《程序員自我修養》--動態鏈接

定義和基本思想 動態鏈接英文是Dynamic Linking需要解決空間浪費和更新困難這兩個問題最簡單的辦法就是把程序的模塊相互劃分開來,形成獨立的文件,而不再將他們靜態的鏈接在一起。簡單地講,就是不對那些組成程序的目標文件進行鏈

原创 《程序員的自我修養》--靜態鏈接

空間分配 例子: /*a.c*/ extern int shared; int main() { int a = 100; swap(&a,&shared); return 0; } /*b.c*/ int

原创 c++11庫 的基本使用

創建線程: /************************************************************************* > File Name: 1.cpp > Autho

原创 rpm 軟件包管理工具

   rpm 是(RPM軟件包管理器)的縮寫     rpm 執行安裝包的二進制包可以直接安裝在計算機中,而源代碼包將會由RPM自動編譯、安裝。源代碼包經常以src.rpm作爲後綴名。     .src.rpm結尾的文件,這些文件是由軟件

原创 cp命令

功能:  ./my_cp   -r    <path1>          <path2>         //複製1目錄下所有東西到2      ./my_cp         <filename1>   <filename2>   /

原创 chown命令

要想看chown的使用方法,自己去man吧。 #include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<fcntl.h> #include<string.h

原创 Linux文件操作

1.return和exit區別: exit()代表退出該進程,exit(1)是出現錯誤時關閉該進程,exit(0)代表正常退出,exit代表的是系統調用級別的進程結束. return代表的是這一層函數結束返回上一級函數,如果是main的r

原创 《程序員的自我修養》--內存

內存佈局 一般有如下佈局幾個區: 棧:維護函數調用上下文,離開棧,函數調用沒辦法實現。 堆:容納應用程序動態分配的內存區域。 可執行文件映像:可執行文件在內存裏的映像。 保留區:隊內存中受到保護,禁止訪問的內存區域總稱。

原创 西郵linux小組面試題總結(2016-5-30)

1.const和define的區別: 1->const在編譯階段用,define在預處理階段才替換 2->const檢查類型,const int i=3.5,這就是錯的;define不檢查類型,只完成普通的替換 3->const常量會在內

原创 ubuntu 16.04 下載gtk

我在終端下輸入 sudo apt-get install gtk 出現無法定位軟件包的錯誤,因此我換了一種方法: 1->輸入sudo apt-get install build-essential ,獲取一些gcc沒有的頭文件 2->輸入

原创 最近的學習總結

  這周我們主要學習了相關的文件操作,這個加深了我對文件的認識。同時也體會到了,在linux下一切皆文件的概念。   在學習的過程中,有歡樂自己學到了知識,但是在自己實現某個命令時,改bug也比較痛苦吧。不過不管怎樣,自己這一週的成長還

原创 《機器學習》第二章學習總結

1.評估方法 留出法:分層採樣,全部樣本的x%用來作爲訓練樣本,1-x%用來作爲測試樣本 交叉驗證:K折交叉驗證,樣本分成k份,每次按順序取k-1份訓練樣本,生另一分作爲測試樣本。 自助法:隨機取樣,每次隨機挑出樣品一個放入

原创 這幾天學習的一點感想

1>代碼寫的亂的時候一定要勇敢刪除.誰都不想殺了自己的孩子,但是該殺還是得殺,,,,比喻不恰當。只有放下原來的,才能寫出更清晰的代碼 -------我最有成效的一天就是扔掉了1000行代碼   -Ken thompson 2>我看書,印象

原创 改成utf-8

之前爲了給老師交作業(在windows下生成.exe給她一併發過去),然後我給代碼轉碼了,後來手賤,把一個叫examples.desktop的文件給刪除了(沒有查明這個文件幹啥,也不知道亂碼和他有關否),反正就是亂碼了,然後我就帶着極爲複