@ufwt
autoconf和automake都属于一类程序,他们彼此协作完成任务,不能分开来讨论,autoconf只是用来生成configure脚本,而automake用来生成makefile,比如在configure.in中包含这句AM_INIT_AUTOMAKE(mypro, 1.0),那么AM就是automake的缩写,而AC_INIT(mypro, 1.0, support@163.com)中的AC就是autoconf的缩写
@饭中淹
在linux写一些程序并build它,然后找一个开源软件build一下,你就知道了。
@LOGOS
因为你写的是简单的程序,而且程序是你自己来编译的,但是如果你参与了一个大一些的项目,而且你写的程序很可能是由其他人来build,而那个人的环境不一定和你的环境一样,那么直接make就可能出问题,但是用automake这种方式可以帮你检查环境,并用相应的参数去填充makefile
现在gnu makefile的规则变得越来越复杂了,automake应运而生,我们作为用户只需要与automake进行交互,而让automake的开发者去读gnu makefile的文档,简单的程序我们自己写简单的makefile就够了,但是随着源代码文件的增加,那么要维护你写的这个makefile就变得越来越困难和繁琐了,所以现在大部分的开源软件都是采用automake来构建的。当你在linux下编译一个开源软件时,大多都会输入./configure , make test, make , make install. 这就是用automake构建的。
Listen()监听函数是如何作用的
这个函数的参数表明允许最多连接数目的等待,也就是说这些连接还没有accept,而你的客户端连接是已经accept了。
两台电脑相互通信,如何取得适合对方访问的自己IP地址?
gethostbyname是可以取出地址的,这个函数维护了一个IP地址的链表,所以你要遍历链表,找出合适的IP,当然你也要设置IP才行,这个函数不是线程安全的,现在已经被另外的函数getaddrinfo取代.