自已做的第一个autoconf程序(不断完善中)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、先写个简单的main函数,并按如下目录结构存放:

    timesync--

        |--conf

        |--include

        |--lib

        |--src

2、在最上层目录下,执行autoscan,生成configure.scan,并改名为configure.in,并进行编辑:

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.AC_PREREQ(2.59)
AC_INIT(timesync, 1.0.0, wuhonghai@ccit.com.cn)
AM_INIT_AUTOMAKE(timessync,1.0.0)AC_CONFIG_SRCDIR([src/timesync.c])
AC_CONFIG_HEADER(config.h)# Checks for programs.
AC_PROG_CXX
AC_PROG_CC# Checks for libraries.# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h memory.h netdb.h netinet/in.h stdlib.h string.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_FORK
AC_FUNC_LSTAT
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([bzero dup2 gethostname inet_ntoa memmove memset socket strcasecmp strchr strcspn strdup strncasecmp strpbrk strrchr strspn strstr])
AC_OUTPUT([Makefilesrc/Makefile])

3、执行autoheader,生成config.h.in

4、执行aclocal、autoconf

5、在timesync目录下编辑Makefile.am文件,如下:

AUTOMAKE_OPTIONS = foreignSUBDIRS=src
CURRENTPATH=$(shell /bin/pwd)
INCLUDES=-I$(CURRENTPATH)/include
export INCLUDES

6、在src目录下编辑Makefile.am文件,如下:

AUTOMAKE_OPTIONS = foreign
bin_PROGRAMS=timesync
timesync_SOURCE=timesync.c libhttpd.c

7、回到timesync目录,执行automake -a,或者automake --add-missing,即可生成configure脚本。

8、可以执行./configure && make 进行编译验证。

转载于:https://my.oschina.net/SmileWolf/blog/41880

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3des加密 java php_php 3DES加密如何兼容Java

Java源码:import java.security.Security;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;public class ThreeDES {private static final String Algorithm "DESede"; //定义 加密算法,可用 DES,DES…

轻松看懂机器学习十大常用算法

通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)。以后有机会再对单个算法做深入地解析。今天的算法如下&#xff1…

撸码是需要直觉的

随着撸码的时间增加&#xff0c;码感也会加强&#xff0c;今天看一个编码直觉案例吧&#xff01;案例&#xff1a;需求&#xff1a;把查询到的数据列表生成csv文件nuget包&#xff1a;CsvHelper数据实体类&#xff1a;/// <summary>/// 商品/// </summary>public c…

linux视频教程之vsftp_B

这次主要说一下VSFTP的扩展应用 max_clients100  最大连接数max_per_ip5   每个IP最大连接数local_max_rate500000 本地用户传输的最大数anon_max_rate200000 匿名用户传输的最大数单位是字节这个就要等一会了&#xff0c;我刚才不是只设了50嘛如果是没设的话…

java collator_Java Collator compare(String, String)用法及代码示例

java.text.Collat​​or类的compare()方法用于比较两个字符串的强度&#xff0c;并根据结果返回0&#xff0c;正值和负值作为输出。用法:public abstract int compare(String source,String target)参数&#xff1a;此方法需要两个字符串之间进行比较。返回值&#xff1a;如果第…

MATLAB常用算法与应用实例分享来袭!

小天从大学开始接触数学建模&#xff0c;便开启资料收集功能。经过近几年的积累和沉淀&#xff0c;再加上对数学建模领域的深入研究&#xff0c;收集整理了丰富的数学建模资料&#xff0c;内容涵盖“MATLAB常用算法”&#xff0c;“MATLAB算法应用实例”等。截止到今天&#xf…

git的安装与使用(一)--windows平台 .

1、Create github Account &#xff08;在github网站上创建一个账号&#xff09; eg. you used the email: taitoyahoo.com 2、Download && install MsysGit (下载windows平台下的git软件) Then open the git bash , input the commends $ git config --global…

C# WPF项目实战(经典)

目的&#xff1a;输出两台摄像头图像和两路设备图像&#xff0c;每一路设备截图6张主要知识&#xff1a;1. 通过SDK调取摄像头图像&#xff0c;并对图像进行剪裁&#xff1b;2. WPF中定时器DispatcherTimer用法&#xff1b;3. WPF中跨线程访问控件方法Dispatcher.Invoke((Actio…

4个终于被破译的世界级密码

全世界有3.14 % 的人已经关注了数据与算法之美很多时候&#xff0c;一个设计精巧的密码就像数学难题一样&#xff0c;许许多多难以破解的密码让人青丝泛白&#xff0c;至今仍未见天日。不过&#xff0c;也有一些密码中的幸运儿&#xff0c;最终仍然迎来了真相大白的那天。秘密组…

NET问答: 如何在 ASP.NET Core 的 .json 文件中读取 AppSettings ?

咨询区 Oluwafemi&#xff1a;在 appsettings.json 中我有如下的 AppSettings 实体数据&#xff0c;如下代码所示&#xff1a;{"AppSettings": {"token": "1234"} }我在网上搜了很久&#xff0c;寻找如何从 .json 文件中获取 AppSettings 实体&a…

java虚拟机工作原理图_Java虚拟机工作原理

首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的&#xff0c;如下图所示&#xff0c;首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件&#xff0c;然后JRE加载Java字节码文件&#xff0c…

如何快速测试与数据库的连接并得到连接字符串

刚做程序开发的人&#xff0c;常常为如何连接数据库&#xff0c;怎么写连接字符串而困惑。做产品安装的服务人员&#xff0c;也常常为如何快速测试本机与数据库的连接状况而头疼。这里&#xff0c;给出一个简单快速的实现方法&#xff1a;*.udl文件。 第一步&#xff1a;创建“…

奇异值的物理意义是什么?

全世界有3.14 % 的人已经关注了数据与算法之美矩阵奇异值的物理意义是什么&#xff1f;或者说&#xff0c;奇异值形象一点的意义是什么&#xff1f;把m*n矩阵看作从m维空间到n维空间的一个线性映射&#xff0c;是否&#xff1a;各奇异向量就是坐标轴&#xff0c;奇异值就是对应…

WPF使用Animation仿WeChat(微信)播放语音消息

WPF开发者QQ群&#xff1a; 340500857 前言WPF使用Animation仿WeChat&#xff08;微信&#xff09;播放语音消息&#xff1f;效果图&#xff1a;创建MyAnimationForever.cs如下&#xff1a;public class MyAnimationForever : Control{private static Storyboard MyStory;priva…

epublib java_使用Epublib处理epub文件 | 学步园

通过wlw发布在我的博客funba.cn希望csdn能重新支持wlwEpublib是一个用于处理epub文件的java类库&#xff0c;可以对epub文件进行读写处理&#xff1b;而且提供了一个阅读器&#xff0c;可以直接运行(java -jar 方式)&#xff0c;并可以打开epub类型的文件进行阅读。1、这个例子…

php注入详解

本文主要是为小菜们服务的&#xff0c;如果你已经是一只老鸟呢&#xff0c;可能某些东西会感觉比较乏味&#xff0c;但只要你仔细的看&#xff0c;你会发现很多有趣的东西哦。 阅读此文你只要明白下面的这点东西就够了。 1.明白phpmysql环境是如何搭建的&#xff0c;在光盘中…

机器学习的最佳学习路线,就在这里!

AI这个词相信大家都非常熟悉&#xff0c;近几年来人工智能圈子格外热闹&#xff0c;光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。在机器学习领域&#xff0c;Python已经成为了主流。一方面因为这门语言简单易上手&#x…

.NET RulesEngine(规则引擎)

一次偶然的机会&#xff0c;让我拿出RulesEngine去完成一个业务&#xff0c;对于业务来说主要是完成一个可伸缩性&#xff08;不确定的类型&#xff0c;以及不确定的条件&#xff0c;条件的变动可能是持续增加修改的&#xff09;的业务判断。比如说完成一个成就系统&#xff0c…

io流图解 java_详细讲解JAVA中的IO流

一、流的概念流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中&#xff0c;管道是一条不间断的字节流&#xff0c;用来实现程序或进程间的通信&#xff0c;或读写外围设备、外部文件等。一个流&#xff0c;必有源端和目的端&#xff0c;它们可以是计算机内存的某些区域&a…

分段函数 左右 f'正 不等于f'负 则f'导数不存在。所以不能推出f连续是否

根据单侧极限定理。当求分界处函数时。如果 f正f负 那么 f存在。 如果 f正&#xff01;f负 f不存在。 如果 f正或者f负不存在。 则f不一定不存在。单侧极限是可导的充分非必要条件。转载于:https://www.cnblogs.com/friends-wf/articles/2380690.html