平成15年2月5日更新



■『みるみる身につくC言語』に関するFAQ & Tips

読者の方から寄せられたご質問やご意見に対してその回答をまとめました。ご参考にしてください。

【コンパイル環境の設定に関して】
Q:「2.とにかく始めてみよう”でCygwinを起動したところ「環境変数のための
領域が足りません」というメッセージが出て,終了してしまう。(もしくはエラーは出るが正常に動作する)」

A: これはMS-DOSが使用するメモリのサイズが影響しています。ユーザがお使いのパソコン環境によってはすでにいくつかの環境設定がされていて、この上にCygwinの環境を付け加えようとすると、メモリ領域が不足するために上記の現象が発生します。以下の手順でメモリのサイズを増やしてください。
 「MS-DOSプロンプトのプロパティ(タイトルバーの上で右ボタンを押す)のメニューを出して、「メモリ」を選択し「環境変数の初期サイズ」が通常は「自動」になっているのですが、これを明示的に1024程度に増やしてやれば、このエラーは発生しなくなります。
(ただしこの値は絶対的なものではなく各ユーザのパソコンのメモリや利用環境に依存します。問題が解決しない場合は、いくつかの別の数値を試してみてください。)
この設定の後いったんウィンドウを閉じてCygwinを終了し、再度起動するとメモリの設定が有効になります。

【ファイルに関して】
Q:「CD-ROMからファイルを転送し、homeの下に新しくディレクトリを作成しようとすると「Permission denied」というエラーが出てディレクトリが作成されない」

A:これはCD-ROMから転送されたフォルダの属性が「読み取り専用」となっているために、その中に新しくフォルダが作成できないというエラーです。homeフォルダのプロパティ(エクスプローラなどでhomeを選択して右ボタンを押すとメニューが表示される)より「読み取り専用」のチェックをはずしてください。
またUnixのコマンドでは以下のように入力します。
[/Cygnus]cd home
[/Cygnus/home]mkdir test2
[/Cygnus/home]cd
[/Cygnus/home]cd /Cygnus
[/Cygnus]chmod 755 home
[/Cygnus]ls -l
total 0
dr-xr-xr-x 6 500 everyone 0 Oct 5 10:24 cygwin-b20
dr-xr-xr-x 2 500 everyone 0 Oct 5 10:28 etc
drwxr-xr-x 10 500 everyone 0 Oct 5 10:28 home
dr-xr-xr-x 2 500 everyone 0 Oct 5 10:28 tmp
dr-xr-xr-x 3 500 everyone 0 Oct 5 10:28 usr
[/Cygnus]cd
[/Cygnus/home]mkdir chap2
[/Cygnus/home]cd chap2

【5章 花火の例題に関して】
このプログラムで使用しているMicorAVS用のファイルのうち,以下のファイルにおいて,赤色で示した一行を追加する必要があります。教科書に付属のコンパイラを使用した場合は問題ないのですが,その他のコンパイラを使用した場合にファイルへの書き込みが正常に終了しない可能性があります。

\microAVS_utility\chap5\hanabi\avsu_n13.mac
(24行目と25行目の間に挿入)

void avsn13fh(avsn13 a)
{
FILE *fp1;
fp1=fopen(&a.fname[0],"w");
if(fp1 == NULL){
printf("ファイルが開けません。\n");
exit(-1);
}
fprintf(fp1,"# AVS field file\n");
fprintf(fp1,"ndim = 1\n");
fprintf(fp1,"dim1 = %3d\n",a.i);
fprintf(fp1,"nspace = 3\n");
fprintf(fp1,"veclen = 4\n");
fprintf(fp1,"data = double\n");
fprintf(fp1,"field = irregular\n");
fprintf(fp1,"nstep = %5d\n",a.j);
fclose(fp1);
}


Copyright (C) 2001 KYORITSU SHUPPAN CO., LTD.