# 20155337 2017-2018-1 《信息安全系統設計基礎》第二周課堂實踐+myod

20155337 2017-2018-1 《信息安全系統設計基礎》第二周課堂實踐+myod

因為在課上已經提交了四個實驗,還欠缺最后一個實驗,反省一下自己還是操作不熟練,平時在課下應該多多練習linux的命令訓練。

實踐一

  • 每個* .c一個文件,每個*.h一個文件,文件名中最好有自己的學號
  • 用Vi輸入圖中代碼,并用gcc編譯通過
  • 在Vi中使用K查找printf的幫助文檔
  • 提交vi編輯過程截圖,要全屏,包含自己的學號信息
    截圖
    1074385-20170930235422512-1783823497.jpg

在課堂實踐一中,我們應該把所有的文件放在一個新的自己創建的文件夾里,這樣用gcc編譯的時候才不會出錯,頭文件也不會出現找不到的情況,因為自己做的時候沒有注意到這一點所以課堂實踐一做的很慢。

實踐二

  • 用gcc 進行預處理,編譯,匯編,鏈接vi輸入的代碼
  • 生成的可執行文件中要有自己的學號
  • 提交預處理,編譯,匯編,鏈接,運行過程截圖,要全屏,包含自己的學號信息
    截圖
    1074385-20170930235506856-1487532594.jpg

課堂實踐二做起來就得心應手多了,按照老師的要求將命令輸入就可以啦,但要注意編譯的順序

1.gcc -E .c -o .i 編譯預處理
2.gcc -S .i -o .s 產生匯編代碼
3.gcc -c .s -o .o 進行匯編
4.gcc * .o -o XXX 生成可執行文件

實踐三

  • 用gcc -g編譯vi輸入的代碼
  • 在main函數中設置一個行斷點
  • 在main函數增加一個空循環,循環次數為自己學號后4位,設置- 一個約為學號一半的條件斷點
  • 提交調試過程截圖(一定包含條件斷點的),要全屏,包含自己的學號信息

截圖
1074385-20170930235554778-1436891359.png

實驗三是gdb調試代碼,在調試代碼中注意下面的命令

  • run 簡寫為r,這個命令是用來運行程序的,在一開始需要現運行程序
  • break 簡寫為不,這個命令是設置斷點的命令,也是我們調試的時候需要用到的重要命令
  • b X(整數) 設置斷點,在源程序第X行
  • b X(整數) if i==X 設置條件斷電,在for循環后一行設置。
    -next 簡寫為n,這個命令是跳過函數進行下一行代碼的調試。
    -step 簡寫為s,這個命令是調試進入函數并循環。
    -quit 簡寫為q,這個命令是退出單步調試環節。

實踐四

  • 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.a靜態庫?main.c如何使用mymath.a?
  • 提交靜態庫生成和調用過程截圖(一定包含條件斷點的),要全屏,包含自己的學號信息
    截圖
    1074385-20170930235534434-486044046.png

靜態庫的這個實踐是詢問同學的前提下,按照課本上的代碼一步一步寫下來的,創建了靜態庫。

實踐五

  • 除了main.c外,其他4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何制作一個mymath.so共享庫?main.c如何使用mymath.so?
  • 提交共享庫生成和調用過程截圖(一定包含條件斷點的),要全屏,包含自己的學號信息
    截圖

和靜態庫一樣,也是按照課本上一步一步寫代碼就實現了動態庫。這里需要用到使用到的命令gcc -shared -fpic -o XX.so XX1.c 這條命令。

實踐六

-寫出編譯上面vi編輯代碼的makefile,編譯出來的目標文件為testmymath, 只用顯式規則就可以.
-提交Make過程截圖,要全屏,包含自己的學號信息
截圖

使用到的命令

  • vi makefile寫makefile文本
  • 保存后退出輸入make
  • 輸入./testmymath

myod

  • 復習c文件處理內容
  • 編寫myod.c 用myod XXX實現Linux下od -tx -tc XXX的功能
  • main與其他分開,制作靜態庫和動態庫
  • 編寫Makefile
  • 提交測試代碼和運行結果截圖,要全屏,包含自己的學號信息
    截圖

轉載于:https://www.cnblogs.com/Twe1vE/p/7616533.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371069.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371069.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

css盒模型中margin很牛逼

css盒子模型,說簡單也簡單,用的時候也有不簡單的。 其中margin的值可以為負值,并且為了實現margin,忽略父級的padding、border、甚至定位。這在布局上很有用,要注意。 ------------ 比如,div1&#xff0…

CometD:Java Web應用程序的Facebook類似聊天

聊天就像吃一塊蛋糕或喝一杯熱咖啡一樣容易。 您是否曾經考慮過自己開發聊天程序? 您知道,聊天不容易。 但是,如果您是開發人員,并且閱讀了本文的結尾,則可以嘗試自己開發一個聊天應用程序,并允許您的用戶通…

怎么用PHP建立購物網站,如何使用PHP建設一個購物網站

本系統以PHP為主要制作工具,實現了用戶注冊、登錄、驗證身份及用戶數據的采集、物品的預覽查詢、搜索/查看物品信息,站內最新物品信息發布,可進入在線下單從而實現了網絡銷售。網上購物,這個逐漸流行于二十世紀的購物方式已經為越…

團隊作業2——需求分析原型設計

需求分析: 軟件的最終目的是用來解決用戶的某些問題,需求分析就是要理解要解決的問題,真正明確用戶需求。請發表一篇隨筆,完成初步的需求分析: 1.訪問軟件項目的真實用戶(至少10個),…

給div命名,使邏輯更加清晰

我們把一些標簽放進<div>里&#xff0c;劃分出一個獨立的邏輯部分。為了使邏輯更加清晰&#xff0c;我們可以為這一個獨立的邏輯部分設置一個名稱&#xff0c;用id屬性來為<div>提供唯一的名稱&#xff0c;這個就像我們每個人都有一個身份證號&#xff0c;這個身份…

css邊框顏色漸變

在實際開發中&#xff0c;我們經常遇見邊框需要背景漸變的實現要求&#xff0c;那么如何去實現呢&#xff0c;今天給大家分享依稀幾種情況 1.直角的背景漸變 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta…

ActiveMQ:了解內存使用情況

正如最近的一些郵件列表電子郵件和從Google返回的許多信息所表明的那樣&#xff0c;ActiveMQ的SystemUsage尤其是MemoryUsage功能使一些人感到困惑。 我將嘗試解釋有關MemoryUsage的一些細節&#xff0c;這些細節可能有助于理解它的工作方式。 我將不介紹StoreUsage和TempUsage…

php設置排序,7種php基本排序實現方法

本文總結了一下常用的7種排序方法&#xff0c;并用php語言實現。1、直接插入排序/** 直接插入排序,插入排序的思想是&#xff1a;當前插入位置之前的元素有序&#xff0c;* 若插入當前位置的元素比有序元素最后一個元素大&#xff0c;則什么也不做&#xff0c;* 否則在有序序列…

170406、用uid分庫,uname(用戶名)上的查詢怎么辦

【緣起】 用戶中心是幾乎每一個公司必備的基礎服務&#xff0c;用戶注冊、登錄、信息查詢與修改都離不開用戶中心。 當數據量越來越大時&#xff0c;需要多用戶中心進行水平切分。最常見的水平切分方式&#xff0c;按照uid取模分庫&#xff1a; 通過uid取模&#xff0c;將數據分…

bzoj2144: 跳跳棋(二分/倍增)

思維好題&#xff01; 可以發現如果中間的點要跳到兩邊有兩種情況&#xff0c;兩邊的點要跳到中間最多只有一種情況。 我們用一個節點表示一種狀態&#xff0c;那么兩邊跳到中間的狀態就是當前點的父親&#xff0c;中間的點跳到兩邊的狀態就是這個點的兩個兒子&#xff0c;從而…

電腦投屏軟件哪個好_目前當貝市場中投屏軟件哪個好,最全面投屏技巧盤點

現在不管是在家里還是公司里&#xff0c;為了看一些是視頻和資料&#xff0c;投屏到電視上是一件非常必要的事情&#xff0c;但是現在投屏的技巧各種各樣&#xff0c;投屏的軟件也是五花八門&#xff0c;小編平常也是經常投屏&#xff0c;也試過非常多的方法&#xff0c;這邊分…

從零開始的全棧工程師——html篇1.2

起名方式與CSS 一.起名方式(起名方式也叫選擇器) 起名的目的是為了給標簽添加屬性 常見的3種選擇器有 標簽選擇器 id選擇器(使用的時候加#) class選擇器(使用的時候加.) 樣式的要求是由選擇器的權重來決定的 標簽的權重為1 class的權重是10 id的權重是100 權重是可…

android開發中用到的px、dp、sp

先介紹一下這幾個單位&#xff1a;px : pixels(像素),相應屏幕上的實際像素點。dip :device independent pixels&#xff0c;與密度無關的像素&#xff0c;基于屏幕密度的抽象單位。在每英寸160點的顯示器上。 1dp 1px &#xff0c;即1 &#xff1a;1關系。&#xff08;dp 就是…

Spring:設置日志依賴項

這篇文章描述了如何在Spring中設置日志依賴。 它基于Dave Syer的帖子中提供的信息 。 這里提供有關Java日志記錄框架的提醒。 該代碼示例可在GitHub的Spring-Logging-Dependencies目錄中找到。 Spring使用Jakarta Commons Logging API&#xff08;JCL&#xff09;。 不幸的是&…

【Codeforces Round #424 (Div. 2) C】Jury Marks

【Link】:http://codeforces.com/contest/831/problem/C 【Description】 有一個人參加一個比賽; 他一開始有一個初始分數x; 有k個評委要依次對這個人評分; 依照時間順序依次給出這k個人的評分(可能為負數,負數的時候,表示分數會降低,而如果為正,則分數增加); 然后有一個…

php copy 文件夾,php刪除與復制文件夾及其文件夾下所有文件的實現代碼

/*復制xCopy函數用法&#xff1a;* xCopy("feiy","feiy2",1):拷貝feiy下的文件到 feiy2,包括子目錄* xCopy("feiy","feiy2",0):拷貝feiy下的文件到 feiy2,不包括子目錄*參數說明&#xff1a;* $source:源目錄名* $destina…

安卓app開發工具_怎么開發app軟件需要多少錢?主流app開發工具盤點

現在智能手機的快速普及讓手機app在生活中越來越重要&#xff0c;很多企業及創業者也意識到了app的重要性&#xff0c;但是怎么開發app軟件&#xff1f;有哪些主流app開發工具呢&#xff1f;這里就為大家分享一下如何快速開發app軟件。一、編程app開發工具主要針對專業的程序員…

大話設計模式讀書筆記(十一) 觀察者模式

觀察者模式&#xff1a; 書中通過小菜描述同事在公司看股票行情&#xff0c;并請求前臺幫忙在老板回來時提醒同事&#xff0c;引出需求。將前臺通知同事老板回來的事寫成程序。未用模式實現&#xff1a; 1 //前臺類2 public class Secretary {3 private List<StockObser…

解決高度塌陷

<!DOCTYPE html> <html lang"en" dir"ltr"><head><meta charset"utf-8"><title>高度塌陷解決</title><style media"screen">.box1{border: 10px #bfc993 solid;}.box2{width: 100px;height…

IBM AIX:Java進程大小監視

本文將為您提供有關如何計算在IBM AIX 5.3 OS上運行的Java VM進程的Java進程大小內存占用量的快速參考指南。 這是我關于該主題的原始文章的補充文章&#xff1a; 如何在AIX上監視Java本機內存 。 我強烈建議所有參與生產支持或AIX上部署Java應用程序開發的人員閱讀此書。 為…