我正在尝试编译 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/