中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GNU-Tool中怎么實現自動化工程

發布時間:2021-08-10 11:38:31 來源:億速云 閱讀:164 作者:Leah 欄目:云計算

GNU-Tool中怎么實現自動化工程,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1.autoscan

autoscan 用來在給定目錄及其子目錄樹中檢查源文件,掃描源代碼目錄從而生成 configure.scan 文件。autoscan 可以用目錄名作為參數,也可以省略參數,此時 autoscan 將把當前目錄當作參數。

configure.scan 文件很重要,它是 configure.in 文件的原型,通過修改 configure.scan 后得到 configure.in 文件。

2.aclocal 

aclocal 是一個 perl 腳本程序。aclocal 根據 configure.in 文件的內容,自動生成 aclocal.m4 文件。aclocal 的定義是: “ aclocal-create aclocal.m4 by scanning configure.ac " 

3.autoconf

autoconf 是用來產生 configure 文件的。configure 是一個腳本,它能設置源程序來適應不同的操作系統平臺,并且根據不同的系統生成合適的 Makefile ,從而可以使源代碼能夠在不同的操作系統平臺上被編譯出來。

4.autoheader

autoheader 負責生成 config.h.in 文件。該工具通常從 acconfig.h 文件中復制用戶添加的符號定義。

5.automake

automake 是工具集中的重要成員之一,它調用腳本文件 Makefile.am , 并最終生成 configure 文件。我們就是通過調用 configure 文件來自動產生 makefile 的。

第一步 掃描本地目錄

autoscan

第二步 重新命名為ac文件

mv configure.scan configure.ac

第三部 編輯configure.ac

第四步configure.ac文件宏說明:

AC_PRERREQ 宏聲明文件要求的 autoconf 版本

AC_INIT 宏用來定義軟件的名稱和版本等信息。

其中FULL-PACKAGE-NAME 表示軟件的名稱;

VERSION 為軟件的版本號; 

BUG-REPORT-ADDRESS 一般為作者的 E-mail

文件宏順序說明:

AC_INIT

測試程序

測試函數庫

測試頭文件

測試類型定義

測試結構

測試編譯器特性

測試庫函數

測試系統調用

AC_OUTPUT

加入下面兩個宏在configure.ac文件中

AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 生成make參數

AC_CONFIG_FILES([Makefile])  宏用于生成相應的 Makefile 文件

第五步 這里可能會生成一個 aclocal.m4 ,該文件主要處理本地的宏定義:

aclocal

第六步驟 生成configure文件

autoconf

第七步 生成配置頭文件

autoheader

第八步 創建Makefile.am,增加編譯目標文件和源文件

Makefile.am

第九步 生成Makefile文件

automake --add-missing

第十步 編譯配置

./configure --prefix=$(pwd)/install

第十一步

make && make install

simple:

Makefile.am

SUBDIRS = src
dist_doc_DATA = README.md

README.md

Some doc.

configure.ac

AC_INIT([automake_hello_world], [1.0], [bug-automake@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
 Makefile
 src/Makefile
])
AC_OUTPUT

src/Makefile.am

bin_PROGRAMS = autotools_hello_world
autotools_hello_world_SOURCES = main.c

src/main.c

#include <config.h>
#include <stdio.h>

int main (void) {
  puts ("Hello world from " PACKAGE_STRING);
  return 0;
}

Usage

autoreconf --install
mkdir build
cd build
../configure
make
sudo make install
autoconf_hello_world
sudo make uninstall

This outputs:

Hello world from automake_hello_world 1.0

關于GNU-Tool中怎么實現自動化工程問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岭县| 弥勒县| 祁东县| 湄潭县| 德昌县| 田阳县| 南召县| 仪征市| 怀柔区| 常德市| 新民市| 理塘县| 台南市| 郯城县| 府谷县| 拜泉县| 上蔡县| 称多县| 裕民县| 准格尔旗| 桑植县| 商城县| 环江| 东辽县| 乐至县| 隆安县| 会同县| 永新县| 保亭| 祁连县| 老河口市| 饶河县| 股票| 贺兰县| 康定县| 京山县| 平定县| 航空| 巴东县| 陇西县| 本溪市|