用gcc -g編譯vi輸入的代碼java
在main函數中設置一個行斷點git
在main函數增長一個空循環,循環次數爲本身學號後4位,設置一個約爲學號一半的條件斷點vim
提交調試過程截圖(必定包含條件斷點的),要全屏,包含本身的學號信息安全
*************課下把代碼推送到代碼託管平臺***************函數
•運行截圖
工具
除了main.c外,其餘4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何製做一個mymath.a靜態庫?main.c如何使用mymath.a?學習
提交靜態庫生成和調用過程截圖(必定包含條件斷點的),要全屏,包含本身的學號信息測試
*************課下把代碼推送到代碼託管平臺***************設計
使用AR工具建立加減乘除四個模塊的靜態庫:3d
gcc -c add.c sub.c mul.c div.c
ar rcs mymath.a add.o sub.o mul.o div.o
而後編譯和連接main.o和mymath.a:
gcc -c main.c
gcc -static -o 20155310 main.o ./mymath.a
•最後運行程序,結果以下:
•運行截圖
除了main.c外,其餘4個模塊(add.c sub.c mul.c div.c)的源代碼不想給別人,如何製做一個mymath.so共享庫?main.c如何使用mymath.so?
提交共享庫生成和調用過程截圖(必定包含條件斷點的),要全屏,包含本身的學號信息
*************課下把代碼推送到代碼託管平臺***************
首先調用編譯器驅動程序,建立共享庫:
gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c
gcc -o share5310 main.c ./mymath.so
而後運行。
•運行截圖
1 寫出編譯上面vi編輯代碼的makefile,編譯出來的目標文件爲testmymath, 只用顯式規則就能夠.
2 提交Make過程截圖,要全屏,包含本身的學號信息
*************課下把Makefile推送到代碼託管平臺***************
用vim建立makefile
代碼以下:
testmymath: main.o add.o sub.o mul.o div.o gcc main.o add.o sub.o mul.o div.o -o testmymath main.o: main.c head.h gcc -c main.c add.o: add.c head.h gcc -c add.c sub.o: sub.c head.h gcc -c sub.c mul.o: mul.c head.h gcc -c mul.c div.o: div.c head.h gcc -c div.c
•運行截圖
1 複習c文件處理內容
2 編寫myod.c 用myod XXX實現Linux下od -tx -tc XXX的功能
main與其餘分開,製做靜態庫和動態庫
編寫Makefile
5 提交測試代碼和運行結果截圖, 提交調試過程截圖,要全屏,包含本身的學號信息
6 在博客園發表一篇博客,重點寫遇到的問題和解決過程
1.打開文件vim m5310.c
輸入編譯出來的函數
#include<stdio.h> #include<stdlib.h> int main() { char ch; FILE *fp1; if((fp1=fopen("hello.c","r"))==NULL) { printf("ss"); exit(0); } while((ch=fgetc(fp1))!=EOF) { printf("%x %c ",ch,ch); } fclose(fp1); return 0; }
2.編譯 gcc m5310.c
3.od -tx -tc hello.c
4../a.out
•運行截圖