在终端中运行代码时,如何解决“分段故障11”?

时间:2019-02-14 19:51:25

标签: c macos command-line terminal segmentation-fault

我在通过macOS上的终端运行代码时遇到问题。该代码接收2个二进制文本文件,并对两个信号进行卷积。我首先使用>执行代码,然后使用@echo off rem // Store argument in variable: set "INPUT=%~1" if not defined INPUT exit /B rem /* Precede with `\` and replace each `/` by `\`, so the resulting string appears to rem be an absolute path, which can be split by `~` modifiers of `for` variables; rem the inner `for` loop resolves the split path and removes any `\.` suffix: */ for %%I in ("\%INPUT:/=\%") do for %%J in ("%%~pI.") do set "REST=%%~pnxJ" rem // Revert replacement of every `/` by `\` and remove the previously preceded `\`: set "REST=%REST:\=/%" set "REST=%REST:*/=%" rem // If there is a string left, output it and call this script recursively: if defined REST ( setlocal EnableDelayedExpansion echo(!REST! endlocal call "%~f0" "%REST%" ) 运行代码。这样做时,我得到分段错误的错误代码:11.我知道当用该代码访问不应访问的内存时,就会发生段错误,但是我找不到发生此错误的任何地方。发生这种情况时,我的输出文件y中没有数据。如果我在Xcode而不是命令行中运行代码,则不会出现任何分段错误,并且输出文件y中将填充正确的数据。是否有任何理由在命令行中运行该程序会更改代码的行为?

gcc program.c -o execute

我希望生成的y文件是x与h卷积的结果,但是当通过命令行运行代码时,生成的y文件没有数据。当使用Xcode运行时,生成的y文件与预期的完全一样。

0 个答案:

没有答案