我正在 IBM 的 CECC 服务的 IBM i 7.3 环境中工作。我正在尝试在 PASE 环境中测试大型应用程序,但在使用该库的脚本时遇到了问题<fstream>
。以写入模式打开文件会导致脚本以SIGILL
.
为了测试这个问题,我编写了以下脚本:
#include <iostream>
#include <fstream>
int main()
{
std::ofstream writer;
std::cout << "Writing file.\n" << std::endl;
writer.open( "out.txt" );
if ( !writer.is_open() || !writer.good() )
{
std::cerr << "Unable to open file." << std::endl;
return (1);
}
writer << "This is a test.\n" << std::endl;
writer.close();
return (0);
}
Run Code Online (Sandbox Code Playgroud)
执行脚本的结果是:
Writing file.
Illegal instruction (core dumped)
Run Code Online (Sandbox Code Playgroud)
在GDB中:
(gdb) run
Starting program: /storage/persist/[app-directory]/test/log/test_write
[New Thread 1] …
Run Code Online (Sandbox Code Playgroud)