在ubuntu系统下使用gcc和makefile实现c语言程序的编译运行
目錄
前言
一、使用gcc命令完成編譯c語言程序
1.編寫c語言程序
main1.c
sub1.h
sub1.c
? ? ? ??2.gcc命令編譯
步驟一命令:gcc -c sub1.c作用:將sub1.c程序轉換為目標文件sub1.o
步驟二命令:gcc main1.c sub1.o -o main1作用:編譯main1.c文件為目標文件main1.o,然后鏈接sub1.o目標文件生成main1可執行文件
步驟三執行./main1命令,即可執行編譯生成的main1程序
3.在window下編譯運行
二、使用Makefile方式編程主程序
1.編寫makefile
?2.編譯運行上述c語言程序
總結
前言
本文目的是通過在Ubuntu16.04系統上編譯多個C程序來熟悉在Linux系統上編寫C程序的操作。相關程序名稱分別為main1.c、sub1.c、sub1.h;采用以下兩種方式進行編譯,第一種是直接使用gcc在命令行編譯運行,第二種是使用Makefile文件,并在命令行編譯運行。
一、使用gcc命令完成編譯c語言程序
1.編寫c語言程序
新建實驗文件夾zy;
?
?main1.c
#include "sub1.h"int main() {int x=6,y=9;printf("%.5f\n",x2x(x,y));//保留小數點后5位return 0; }在gedit中編寫效果:
sub1.h
#ifndef __SUB1_H #define __SUB1_H#include<stdio.h>float x2x(int a,int b); //計算a除以b加0.00001的結果#endif?
sub1.c
#include "sub1.h" float x2x(int a,int b) {float m;m=(float)a/b+0.00001;return m; }2.gcc命令編譯
步驟一
命令:gcc -c sub1.c
作用:將sub1.c程序轉換為目標文件sub1.o
步驟二
命令:gcc main1.c sub1.o -o main1
作用:編譯main1.c文件為目標文件main1.o,然后鏈接sub1.o目標文件生成main1可執行文件
步驟三
執行./main1命令,即可執行編譯生成的main1程序
如圖:
3.在window下編譯運行
使用devc++編譯運行;
直接運行失敗
?將main.c中的sub1.h修改為sub1.c
編譯運行成功!
?
二、使用Makefile方式編程主程序
1.編寫makefile
格式:
目標文件:[相依文件]
<tab>命令[注釋]
<tab>命令[注釋]
?2.編譯運行上述c語言程序
?
總結
在ubuntu16.04環境下,本次實驗使用gcc對c語言進行編譯,我更加了解了gcc對c語言程序的編譯過程,并發現了在window下編譯過程的差別。還學習使用了makefile與make來完成了c語言程序的編譯,在面對多個程序的鏈接編譯時makefile是一個好用的工具,能達到快速編譯的目的。
總結
以上是生活随笔為你收集整理的在ubuntu系统下使用gcc和makefile实现c语言程序的编译运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux使用mysql命令行工具_我使
- 下一篇: 精读5G:关于5G的NSA和SA,看完秒