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