国产精品久久久久aaaa,色综合久久成人综合网,日本少妇被爽到高潮无码,特黄熟妇丰满人妻无码

學習啦 > 知識大全 > 知識百科 > 百科知識 > Linux下C語言編程基礎知識

Linux下C語言編程基礎知識

時間: 謝君787 分享

Linux下C語言編程基礎知識

  在Linux下面,如果要編譯一個C語言源程序,我們要使用GNU的gcc編譯器。 以下是由學習啦小編整理關于Linux下C語言編程基礎知識的內容,希望大家喜歡!

  1.源程序的編譯

  假設我們有下面一個非常簡單的源程序(hello.c):

  int main(int argc,char **argv)

  {

  printf("Hello Linux\n");

  }

  要編譯這個程序,我們只要在命令行下執行:

  gcc -o hello hello.c

  gcc 編譯器就會為我們生成一個hello的可執行文件。執行./hello就可以看到程序的輸出結果了。命令行中 gcc表示我們是用gcc來編譯我們的源程序,-o 選項表示我們要求編譯器給我們輸出的可執行文件名為hello 而hello.c是我們的源程序文件。

  gcc編譯器有許多選項,一般來說我們只要知道其中的幾個就夠了。 -o選項我們已經知道了,表示我們要求輸出的可執行文件名。 -c選項表示我們只要求編譯器輸出目標代碼,而不必要輸出可執行文件。 -g選項表示我們要求編譯器在編譯的時候提供我們以后對程序進行調試的信息。

  知道了這三個選項,我們就可以編譯我們自己所寫的簡單的源程序了,如果你想要知道更多的選項,可以查看gcc的幫助文檔,那里有著許多對其它選項的詳細說明。

  2.Makefile的編寫

  假設我們有下面這樣的一個程序,源代碼如下:

  /* main.c */

  #include "mytool1.h"

  #include "mytool2.h"

  int main(int argc,char **argv)

  {

  mytool1_print("hello");

  mytool2_print("hello");

  }

  /* mytool1.h */

  #ifndef _MYTOOL_1_H

  #define _MYTOOL_1_H

  void mytool1_print(char *print_str);

  #endif

  /* mytool1.c */

  #include "mytool1.h"

  void mytool1_print(char *print_str)

  {

  printf("This is mytool1 print %s\n",print_str);

  }

  /* mytool2.h */

  #ifndef _MYTOOL_2_H

  #define _MYTOOL_2_H

  void mytool2_print(char *print_str);

  #endif

  /* mytool2.c */

  #include "mytool2.h"

  void mytool2_print(char *print_str)

  {

  printf("This is mytool2 print %s\n",print_str);

  }

  當然由于這個程序是很短的我們可以這樣來編譯

  gcc -c main.c

  gcc -c mytool1.c

  gcc -c mytool2.c

  gcc -o main main.o mytool1.o mytool2.o

  這樣的話我們也可以產生main程序,而且也不時很麻煩。但是如果我們考慮一下如果有一天我們修改了其中的一個文件(比如說mytool1.c)那么我們難道還要重新輸入上面的命令?也許你會說,這個很容易解決啊,我寫一個SHELL腳本,讓她幫我去完成不就可以了。是的對于這個程序來說,是可以起到作用的。但是當我們把事情想的更復雜一點,如果我們的程序有幾百個源程序的時候,難道也要編譯器重新一個一個的去編譯?

1284142 主站蜘蛛池模板: 霍邱县| 松阳县| 玉门市| 乐都县| 达州市| 开化县| 平陆县| 瑞金市| 博客| 双桥区| 茌平县| 民丰县| 哈密市| 定南县| 达州市| 印江| 峡江县| 永州市| 宝兴县| 晋城| 新绛县| 确山县| 江孜县| 斗六市| 卓资县| 寻甸| 杭锦后旗| 林西县| 越西县| 乌海市| 岳阳市| 东港市| 松江区| 额尔古纳市| 正镶白旗| 滨海县| 凤城市| 锦州市| 蒲城县| 临沭县| 梅河口市|