■動作保証について

 “LSI C-86 Ver.3.30c試食版”はWindows 95,Windows 98,Windows NT Workstation Version 4.0,Windows 2000上で動作することは確認しておりますが、フリーソフトウェアですのでMS-DOSを含め動作保証はしておりません。


■環境変数PATHの設定

 Windows NT,Windows 2000では、autoexec.batでの設定に相当するものとして、[コントロールパネル]の[システム]にある[環境]で環境変数の設定ができます。
 あるいは、“LSI C-86 Ver.3.30c試食版”起動用にコマンドプロンプト(cmd.exe)のショートカットを作成し、起動時のバッチファイル(プロパティで指定可能)で環境変数の設定を行うこともできます。


■よく聞かれる質問と回答

Q

“LSI C-86 Ver.3.30c試食版”をダウンロードしたのですが、どのようにしたらコンパイルできるのでしょうか。

A

圧縮ファイルlsic330c.lzhを解凍するとファイルlsic86.manが生成されます。このファイルlsic86.manがオンラインマニュアルになりますので、その中に記述してあります「第1章 設置方法」を参照してください。また、ファイルreadme.1st・ファイルread.meも併せて参照してください。ファイルlsic86.man,readme.1st,read.meは、Notepad.exe,Wordpad.exeなどテキストファイルを扱えるアプリケーションで開くことができます。


Q

Windowsのメモ帳(notepad)でCソースファイルの拡張子が.txtになってしまいます。

A

Windowsの仕様です。「ファイル名」をダブルクォートで囲んで保存をしてください。

 【例】

foo.cではなく"foo.c"です。


Q

“LSI C-86 Ver.3.30c試食版”をWindows 95のMS-DOSプロンプト上で動作させたいのですが、lcc test.cを起動すると

準備ができていません. 読み取り中 ドライブ A:
中止 (A), 再試行 (R), 失敗 (F)?

と表示されます。

A

_lccの設定が正しくないのが原因です。以下のデフォルトになっている可能性がありますので、

# LSI C-86 compiler's configuration file
-DLSI_C
-X
A:\LSIC86\BIN -LA:\LSIC86\LIB -IA:\LSIC86\INCLUDE -T -O
-acdos.obj $LSICOPT
&#Command line argument will be inserted here
-lknjlib -ldoslib -v

-X-L-Iをインストール先に合わせて変更してください。


Q

sin()cos()のようなmath.hで宣言された関数を使用したプログラムをコンパイルしたところ、

foo.obj(foo.c): Undefined symbol: sin_

とエラーメッセージが表示されてリンクに失敗します。LSI C-86 Ver.3.30c試食版ではこれらの関数は使用できないのでしょうか。

 【foo.c】

#include <stdio.h>
#include <math.h>

int   main()
{
    double d = 1.0; /* 1.0 rad. */

    printf("%f\n", sin(d));
    return 0;
}

A

もちろん使用できます。数学関数を使用する場合には“#include <math.h>”する以外に、lcc-lオプションで、数学関数のライブラリmathlibをリンクする必要があります。なお、-lオプションを指定する位置には意味がありますので注意してください。

lcc foo.c -lmathlib

× lcc -lmathlib foo.c

【デフォルトの_lccに-lmathlibが書かれていない理由】

 多くのプログラムは浮動小数点数のフォーマット付き入出力を必要としませんので、LSI C-86ではprintf/scanf系の関数として次の2種類を用意しています。

浮動小数点数を扱うことができないがサイズの小さいもの(intlib)
浮動小数点数を扱うことができるサイズの大きいもの(mathlib)

 デフォルトではintlibを使用することで、サイズの小さいオブジェクトが得られるようにしています。
 浮動小数点数のフォーマット付き入出力や数学関数を頻繁に使用するのであれば、_lcc-lmathlibを追加しても良いでしょう。(この場合、-lintlibはコメントアウトします)


[フリーソフトウェア集]に戻る

LSI Japan ホームへ]