置顶嘟文

如果全世界犯罪,那全世界都应该受到处罚。

置顶嘟文

frege好强大,可以通过自带语法实现方程式解答。当然,对于其他语言,只需要实现一个这种函数,然后加入新的语法,编译的时候翻译成对这种函数的调用即可实现。

做人不要顽固,不要站队。我就从来不会永远也不会站队任何人。我支持的所有人所有观点,随时会失去我的支持。我决定是否支持取决于我的支持是否正确。一旦发现当初的观念是错误的,我随时改变观念。但也不随便改变。

假设钢珠5克,初始速度为0,火车初始速度时速80公里,重10吨,它们完全弹性碰撞后,钢珠新速度是火车的几乎两倍,即使火车重量变成10公里,新速度几乎不变。

稍后我自己做一个我自己的图。

或者可以把剪头标识一下,生成和输入剪头用不同的label 标识。

不过,我觉得把configure 和 config.status 分别分开画更好。

拿configure 来说,我们不知道 它是config.status 的输入文件还是 它产生了 config.status。

我找到一个更加完整和严谨地描述整个autotool 构建过程的图。其中,矩形的是输入输出文件,圆形的是处理程序。
——
我们可以发现,configure 本身既是输入输出文件,又是处理程序。config.status 也是。

之所以这么麻烦,那是因为 automake 并不完全 auto。

总结构建整个过程。
——
1、autoscan 扫描项目源代码目录树后输出 configure.scan文件,手动改名成 configure.in;
2、向aclocal 程序输入configure.in文件后,输出 m4文件;

3、手动创建并配置 am 文件;
4、向 automake 输入 am 文件后输出 makefile.in 文件;
5、向 autoconf 输入 configure.in 、m4文件后输出 configure文件,configure文件是程序;
6、向 configure 输入makefile.in 文件生成 makefile文件;
7、向 make 或者automake 输入 makefile 文件,编译构建最终二进制程序。

再次来理解 makefile.am、makefile.in makefile,因为它们都有 makefile开头,我以前不懂还以为是 make 程序用的文件。
——
谁用的看扩展名。am 就是 automake扩展名,是automake 程序用的输入文件。
——
makefile.in 是configure脚本的输入文件,用来生成 makefile的。

stackoverflow.com/questions/25

autoconfig 通过输入配置文件 configure.in 来生成 configure脚本,生成configure 脚本的时候,需要调用 m4脚本。

构建程序的时候,需要很多工具,比如autoconf、automake、aclocal、M4、make、libtool。
——
生成的文件里,makefile.am 中的扩展名am,我推测应该是automake的缩写,makefile.in 中的扩展名in应该是input 的缩写,表示make程序的的输入文件,经过make处理后,变成makefile。同理,configure.in 应该就是 autoconf的输入文件,用来生成 configure 脚本,configure脚本可以独立于autoconf 运行。
——
总结一下。am、in扩展名的都是输入文件,都是一些声明式的配置文件。没有扩展名的是输出文件,其中有些输出文件是脚本。需要手动进一步运行输出的脚本,构建最终的makefile,再执行makefile 脚本把源代码编译构建最终的二进制程序。
——
aclocal 是一个 perl 脚本,生成aclocal.m4 ,m4 文件本质是脚本,可以被预处理器(本质就是解释器)处理(就是解释并处理)
——

autoconf 如何理解它,可以从抽象分层来理解。autoconf 和 make 以及 m4 的关系不是平行的,而是利用和被利用的关系。autoconf 可以生成 make 脚本。

如何理解 m4?
——
第一,m4是一种预处理器。换句话说,你可以把它看作脚本解释器,宏指令就是脚本指令。宏和代码构成脚本,略有不同的是,这种脚本是处理自己的。
——
第二,m4 和其他宏相比,它是独立于语言的。
——
第三,它有灵活的语法特性,不必像某些编程语言里的宏那样,非得单行。
——
第四,很多其他特意设计的优点。

性应该是没有必要禁忌的,所以未来我会设法允许有限制次数的性骚扰。为啥是有限制次数?因为即使一个同事请你去吃饭,你拒绝,但他总是请你,你也会烦吧?我觉得限制这个是有理的。我觉得对生殖器的主观厌恶不应该替代生殖器的客观无害性。

显示更多
长毛象中文站

CMX.IM (国内用户可使用备用域名CMX.SOCIAL)是长毛象(Mastodon)的一个中文实例。Mastodon是一个开源的、符合GNU Social规范的去中心化社交网络,整个长毛象社区是由无数实例组成的。注册本社区后你不仅可以与本实例内的用户互动,并且可以与来自世界各地的其他实例中的用户无缝连接。

长毛象中文站主题为喵,汪,各种动物,社交,科技,编程及生活。发言内容只要没有明显违法内容均不禁止。无论你的兴趣点是什么,我们欢迎友好、热情、乐于分享的朋友。

如果你不喜欢本站的主题或发言规则,可以从Instance List中选择更适合你的实例。记住,除非你选择实例明确阻隔了其他某个或某些实例,你永远可以和整个Mastodon社区的用户交互。记得到时候 @[email protected] 哦。

Mastodon的去中心化设计防止了社交数据被少数公司或团体垄断的风险,也大大增加了屏蔽及过滤的难度。如果你有兴趣动手搭建一个实例,请参考Github 官方文档

你可以随时备份自己的微博并申请转移到其他实例中而无需担心因为实例运营者的问题导致的数据丢失。如果你有更多关于Mastodon的问题,请参考Github 官方FAQ

本站原则上只使用官方Stable代码,所有包括汉化等问题将在Github上提交。有编程经验的朋友不妨加入我们一起来让长毛象更萌,更可爱吧。