2015年6月22日 星期一

[C筆記]利用標頭檔共享程式碼

前言:當有兩個以上的程式檔需要用到某個方法,直觀作法是在兩支程式內都寫下此方法的程式碼,但如果這個共同的方法需要改良,那不就代表我們必須去每支擁有這程式碼的程式都改一遍,這是一件麻煩的事情,這裡利用標頭擋來讓N個程式檔都可以共享一個方法的檔案,只要修改此檔案就可以讓所以引用此方法的程式碼都跟著改變。


範例:









解說:

encrypt.h :用來連結的標頭擋


code:
void encrypt(char *message);//類似宣告方法的回傳值

encrypt.c :想共用方法


code:
#include "encrypt.h" //這邊要將連結用的標頭擋包含進來
void encrypt(char *message)
{
while(*message)
{
               
 *message = *message^31;

  message++;
}
}

main.c :主程式


code:
#include <stdio.h>
#include <stdlib.h>
#include "encrypt.h"//這邊就是共享 encrypt.c 裡面方法的關鍵int main(int argc, char *argv[])
{
  char msg[80];
  while(fgets(msg,80,stdin))
  {
    encrypt(msg);
    printf("%s",msg);
                            }
  system("PAUSE");   return 0;
}


最後執行要記的兩個檔一起編譯進去 gcc main.c encrypt.c -o try

補充:當encrypt方法需要修改就直接去改encrypt.c裡面就ok了




ref:深入淺出C

沒有留言:

張貼留言