c - 段错误 : don't know where to start

标签 c boot segmentation-fault

我正在尝试编译 this program在Windows下 (这是一个将可启动代码转换为软盘的程序。我从这里获得了源代码:http://www.acm.uiuc.edu/sigops/roll_your_own/1.bootstrap.html)。

首先我遇到的问题是它没有读取INI文件。现在已经解决了。现在我在以下规则上遇到了段错误:

while(data < end) 

我向应用程序添加了输出,因此应该清楚执行的停止位置:没有打印出“.”。我使用的是 Win64,使用 Cygwin 工具链。

谢谢!

伊万

最佳答案

错误是:

size = (int *)lSize;

更好:

*size = lSize;

函数为:

void *loadfile(char *file, long *size)
...

在调用上下文中,例如:

long size=0;
char *buffer = loadfile("blah.txt",&size);
if( buffer )
{
  printf("\nstrlen = %lu, fsize = &ld", strlen(buffer), size );
}

关于c - 段错误 : don't know where to start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747200/

相关文章:

linux - 模拟 Linux 内核时黑屏

c - 在 C 中使用 rand() 生成多个随机数时出现段错误

c - 从 C main() 程序返回字符串的机制

c - C 中的字符串数组操作

Python/Tkinter 应用程序在 Raspberry Pi 启动上运行

android - 更换system.img后Android设备无法启动

ios - Swift 函数指针数组给出编译器段错误 11

c - 使用 pthread_exit() 访问返回值

c - 如何按顺序将大尺寸的空指针转换为不同类型

c - 如何在结构中声明指向结构的指针?