首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在asm中将文件指针从c传递给调用

如何在asm中将文件指针从c传递给调用
EN

Stack Overflow用户
提问于 2019-04-27 23:47:36
回答 1查看 505关注 0票数 -1

我正在和nasm打交道,在没有问题地做了hello world之后,我想我应该试着做一些c集成。

我正在使用c打开一个文件,然后我想使用为打开的文件返回的指针来处理文本。然而,当我在rdi中使用指针调用fgetc时,我得到一个“没有这样的文件或目录”,后面跟着一个segfault。

我做错了什么?

代码语言:javascript
复制
int64_t asmFunc(FILE* a, char* b);

int main()
{
   int num;
   FILE *fptr;
   size_t line_buf_size = 0;
   char *ret = malloc(100);
   fptr = fopen("./test.txt","r");

   if(fptr == NULL)
   {
      printf("Error!");   
      exit(1);             
   }

   printf("%ld", asmFunc(fptr, ret));

   return 0;
}
代码语言:javascript
复制
global asmFunc

section .text

extern fgetc

asmFunc:
  call fgetc  ; segfault occurs here.
(...)
  ret
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55882234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档