Redian新闻
>
谁知道这个问题的答案
avatar
谁知道这个问题的答案# JobHunting - 待字闺中
g*a
1
编译执行如下的c程序
int main() { a=1/0;}
会在屏幕上出现一行
Floating point exception
问这行是如何出现的
输出这行的代码是运行在用户空间还是核空间
你能在一台linux机器上找到它的源代码吗?
int main() {char *p = NULL, *p ='a'; }
会在屏幕上出现一行
Segmentation fault
问这行是如何出现的
输出这行的代码是运行在用户空间还是核空间
你能在一台linux机器上找到它的源代码吗?
和上面Floating point exception有什么不同?
avatar
d*x
2
floating number...不应该是divided by zero嘛
cpu产生的,os告诉你,你没法handle的。

【在 g*****a 的大作中提到】
: 编译执行如下的c程序
: int main() { a=1/0;}
: 会在屏幕上出现一行
: Floating point exception
: 问这行是如何出现的
: 输出这行的代码是运行在用户空间还是核空间
: 你能在一台linux机器上找到它的源代码吗?
: int main() {char *p = NULL, *p ='a'; }
: 会在屏幕上出现一行
: Segmentation fault

avatar
t*t
3
1. default sigfpe handler
2. default sigsegv handler
both signals are likely from faults generated by CPU and caught by OS. OS wi
ll translate the faults to signal and generate the signal to the violating p
rocess. the process will be redirected to the corresponding signal handler (
given the mask and everything is ok). the default signal handler is likely i
n libc.

【在 g*****a 的大作中提到】
: 编译执行如下的c程序
: int main() { a=1/0;}
: 会在屏幕上出现一行
: Floating point exception
: 问这行是如何出现的
: 输出这行的代码是运行在用户空间还是核空间
: 你能在一台linux机器上找到它的源代码吗?
: int main() {char *p = NULL, *p ='a'; }
: 会在屏幕上出现一行
: Segmentation fault

avatar
l*8
4
c库函数里面的signal函数可以重新设置handler.

【在 d**********x 的大作中提到】
: floating number...不应该是divided by zero嘛
: cpu产生的,os告诉你,你没法handle的。

avatar
g*a
5
被追问及当“事件”发生时,the default signal handler是如何被找到的,换句话说
,是什么数据结构里存放signal handler的指针的?这个数据结构是何时被谁初始化的
?初始化时为什么指向你说的哪个函数?这是谁决定的?编译器?C库?OS?...
你能找到default signal handler的具体实现吗?in linux kernel source code, gcc
source code,glibc source code?

wi
p
(
i

【在 t****t 的大作中提到】
: 1. default sigfpe handler
: 2. default sigsegv handler
: both signals are likely from faults generated by CPU and caught by OS. OS wi
: ll translate the faults to signal and generate the signal to the violating p
: rocess. the process will be redirected to the corresponding signal handler (
: given the mask and everything is ok). the default signal handler is likely i
: n libc.

avatar
t*t
6
莫非你拿BBS上的答案回给面试官? 然后再上这儿来找反馈?

gcc

【在 g*****a 的大作中提到】
: 被追问及当“事件”发生时,the default signal handler是如何被找到的,换句话说
: ,是什么数据结构里存放signal handler的指针的?这个数据结构是何时被谁初始化的
: ?初始化时为什么指向你说的哪个函数?这是谁决定的?编译器?C库?OS?...
: 你能找到default signal handler的具体实现吗?in linux kernel source code, gcc
: source code,glibc source code?
:
: wi
: p
: (
: i

avatar
g*a
7
不是啦,当场回答出一些,有些象你的答案,可是卡在追问上,其实原帖中已提到了,
也就是“你能在一台linux机器上找到它的源代码吗?”给了台机器让我找code
path

【在 t****t 的大作中提到】
: 莫非你拿BBS上的答案回给面试官? 然后再上这儿来找反馈?
:
: gcc

avatar
N*Y
8
哈,刚被问过

【在 g*****a 的大作中提到】
: 编译执行如下的c程序
: int main() { a=1/0;}
: 会在屏幕上出现一行
: Floating point exception
: 问这行是如何出现的
: 输出这行的代码是运行在用户空间还是核空间
: 你能在一台linux机器上找到它的源代码吗?
: int main() {char *p = NULL, *p ='a'; }
: 会在屏幕上出现一行
: Segmentation fault

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。