我是靠谱客的博主 神勇墨镜,最近开发中收集的这篇文章主要介绍链接libpcap.so.1.9.1出现Illegal Instruction错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.现象:虚拟机( Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz)编译出来的libpcap.so.1.9.1库和相关程序分别放到实体机1(Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz)和实体机2(Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz)运行,实体机1运行没有出现问题,但实体机2出现Illegal Instruction错误:

2.分析:

(1)Illegal Instruction含义

illegal instruction,即SIGILL, 是POSIX标准中提供的一类错误。 从名字上看,SIGILL是启动的某个进程中的某一句不能被CPU识别成正确的指令。 此类错误是由操作系统发送给进程的,在进程试图执行一些形式错误、未知或者特权指令时操作系统会使用SIGILL信号终止程序。 SIGILL对应的常数是4。

(2)可能诱发Illegal Instruction原因

诱发Illegal Instruction原因有很多种,比如将不正确的数据写入代码段,工具链bug,访存对齐或浮点数格式问题等,在本案例中,从运行情况看,多半是新体系结构中编译的可执行程序,在老机器上运行时会有illegal instruction问题。

3.解决:

在实体机2(Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz)搭建gcc这样开发环境,并对libpcap-1.9.1源码编译,编译出的库和程序放到实体机1和虚拟机都可以运行成功。

最后

以上就是神勇墨镜为你收集整理的链接libpcap.so.1.9.1出现Illegal Instruction错误的全部内容,希望文章能够帮你解决链接libpcap.so.1.9.1出现Illegal Instruction错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部