我正在尝试在Windows下编译this program (这是一个在软盘中打开可启动代码的程序。我从这里获得了源代码:http://www.acm.uiuc.edu/sigops/roll_your_own/1.bootstrap.html)。
首先我遇到了它没有读取INI文件的问题。现在已经解决了。现在我对以下规则进行了段错误:
while(data < end)
我在应用程序中添加了输出,因此应该清楚执行停止的位置:没有“。”打印出来。我在Win64上使用Cygwin工具链。
谢谢!
伊凡
答案 0 :(得分:2)
错误是:
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 );
}