android jni 报错
Fatal signal 4 (SIGILL), code 1, fault addr 0xdc3d9f28 in tid 918 (nektv.vod:ktvdb), 一直不知道什么原因, 因为java到c++的方法是系统给的, 所以没有想着是函数的问题, 因为项目中有void类型的函数是可以正常运行的, 把两个函数调换, 还是会报错, 判断应该是函数的问题, 最后发现自己的函数是 bool 类型但是 没有返回值, 才报这个错, 无语了, 修复后不再报错, 但是奇怪的是没有返回值这样居然可以编译过, 可能有警告没去看把(实在太多了)。
附上 singal 对照 http://man7.org/linux/man-pages/man7/signal.7.html
Signal Value Action Comment ────────────────────────────────────────────────────────────────────── SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt from keyboard SIGQUIT 3 Core Quit from keyboard SIGILL 4 Core Illegal Instruction SIGABRT 6 Core Abort signal from abort(3) SIGFPE 8 Core Floating-point exception SIGKILL 9 Term Kill signal SIGSEGV 11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe with no readers; see pipe(7) SIGALRM 14 Term Timer signal from alarm(2) SIGTERM 15 Term Termination signal SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 SIGCHLD 20,17,18 Ign Child stopped or terminated SIGCONT 19,18,25 Cont Continue if stopped SIGSTOP 17,19,23 Stop Stop process SIGTSTP 18,20,24 Stop Stop typed at terminal SIGTTIN 21,21,26 Stop Terminal input for background process SIGTTOU 22,22,27 Stop Terminal output for background process