我有一个特定的可执行文件(让我们称之为bin
),当使用./bin
正常运行时会崩溃,但是如果我创建了这个Makefile:
all:
./bin
我做make
,可执行文件运行没有错误并正确终止。这怎么可能呢?
答案 0 :(得分:3)
你没有说你正在使用什么版本的make,但旧版本的GNU make有一个bug,其中make将自己的堆栈大小设置为“unlimited”,然后在运行时没有将其设置回默认值程式。较新版本的GNU修复了该bug,以便程序以默认的堆栈大小运行。
请参阅https://savannah.gnu.org/bugs/?func=detailitem&item_id=22010