0

我有一个特定的可执行文件(我们称之为bin),当使用 正常运行时,它会因段错误而崩溃./bin,但是如果我创建这个 Makefile:

all: 
./bin

我这样做make了,可执行文件运行没有错误并正确终止。这怎么可能?

4

1 回答 1

3

你没有说你使用的是什么版本的 make,但是旧版本的 GNU make 有一个错误,即 make 将自己的堆栈大小设置为“无限”,然后在运行程序时没有将其设置回默认值。较新版本的 GNU 修复了该错误,以便程序以默认堆栈大小运行。

https://savannah.gnu.org/bugs/?func=detailitem&item_id=22010

于 2013-09-03T17:50:25.337 回答