我在组装时返回errno时遇到问题。我知道如何找到它,但是我无法返回errno和返回值。如果我的函数失败,我将返回errno(由系统调用设置)和-1。我必须针对学校课程进行此操作。我必须在汇编中创建一个小库,最后一个函数是“写”。我使用呼叫系统写功能,但也必须管理errno。
如果我没记错的话,errno是一个全局变量。因此,我认为可以在汇编中恢复它并更改其值,但是我至今仍无法在函数中恢复它。
我是好方法还是完全错误?
我使用Assembly Intel x86,并使用NASM进行编译。
抱歉语言错误,我不是英语。
我做了一个测试,我试图将一个数字传递给这样的int指针:
void mega_pointer(int *********number)
{
*********number = 1337;
}
Run Code Online (Sandbox Code Playgroud)
但我有一个分段错误.我不明白.有人能帮助我吗?
编辑:我添加我的主要:
int main(void)
{
int ********number;
mega_pointer(&number);
printf("Result = %d\n", ********number);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
PS:对不起你的眼睛,我永远不会在真正的程序中使用9*,这只是一个实验^^