-2

このプログラムを Windows でコンパイルしようとしています (フロッピーで起動可能なコードを作成するプログラムです。ソースはこちらから取得しました: http://www.acm.uiuc.edu/sigops/roll_your_own/1.bootstrap.html ) .

最初に、INI ファイルを読み取れないという問題が発生しました。それが今解決されました。これで、次のルールでセグメンテーション違反が発生します。

while(data < end) 

アプリに出力を追加したので、実行がどこで停止するかが明確になるはずです。「.」は出力されません。Cygwin ツールチェーンを使用して Win64 を使用しています。

ありがとう!

イヴァン

4

1 に答える 1

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 );
}
于 2010-09-19T19:59:41.590 に答える