20170724進一步深入Makefile

2021-08-04 05:54:35 字數 1474 閱讀 2129

vim prog.c 

#include

#include "code.h"

int main(void)

vim code.c

#include "code.h"

int myfun(int in)

vim code.h

extern int myfun(int);

gcc  -c  code.c  -o  code.o

gcc  -c  prog.c  -o   prog.o

gcc -o  test  prog.o  code.o  或者   gcc  prog.o  code.o  -o  test

./test 

第一種方式:

test: prog.ocode.o

gcc prog.o code.o -o test     #這個前面是tab按鍵,不要忘記

prog.o: prog.ccode.h

gcc -c prog.c -o prog.o        #這個前面是tab按鍵,不要弄錯

code.o: code.ccode.h

gcc -c code.c -o code.o        #這個前面是tab按鍵,不要弄錯

clean:

rm -f *.o test                            #這個前面是tab按鍵,不要弄錯

第二種方式:

test: prog.ocode.o

gcc -o test prog.o code.o    

#這個前面是tab按鍵,不要弄錯

clean:

rm -f *.o test                              #這個前面是tab按鍵,不要弄錯

第三種方式:

libs=-lm

objs=prog.ocode.o

test:$

gcc -o test $ $         #這個前面是tab按鍵,不要弄錯

clean:

rm -f test $                            #這個前面是tab按鍵,不要弄錯

這三種方法中,第三種的可移植性最好。

其中第三種方法還可以再改寫:

libs=-lm

objs=prog.ocode.o

cc=gcc

test:$

$(cc) -o  

$@$ $         #這個前面是tab按鍵,不要弄錯,$@代表當前的目標test

clean:

rm -f test $                            #這個前面是tab按鍵,不要弄錯

makefile檔案的一般寫法:

test(目標檔案): prog.o code.o(依賴檔案列表)

tab(至少乙個tab的位置) gcc prog.o code.o -o test(命令)

.......

for迴圈的進一步深入

哥德 猜想 即任一大於2的偶數都可寫成兩個質數之和。例如18可以寫成5 13或者7 11。輸入乙個正整數n 2 1000000 請問n可以寫成多少種不同兩個質數相加的結果?這是原題,當我剛看到這道題的時候一點思路都沒有,經過一番思索,我想到了用for迴圈,但是該怎麼用,首先要把輸入數n的全部質因數找...

bufferedReader進一步理解

public static void main string args string mystring system.out.println 請輸入明文 bufferedreader buf new bufferedreader new inputstreamreader system.in try...

Looper Handler進一步學習

package com.test.looper import android.os.bundle import android.os.handler import android.os.handlerthread import android.os.looper import android.os....