よくある質問 (FAQ)

インストールできない

ここをクリックしてください。

UTK (HEB) 版のコマンド名や生成ファイル名がマニュアルと異なる

次のような違いがあります。マニュアルの説明は、通常版の名前で記載されていることがありますので、すみませんが適宜読み替えてください。

通常版 UTK 版
コンパイル コマンド lc lch
リンク コマンド lil, lil32 lilh
アセンブル コマンド lasm, lasm32 lasmh
生成される HEX ファイルの拡張子 .hex .heb

なお、テキスト形式の .hex ファイルとは異なり、.heb ファイルはバイナリ形式です。

UTK (HEB) 版でリンクすると「未解決の外部参照名」があるとのエラーになる

環境変数 lclib が正しく設定されていること、また -186 を指定していることを確認してください。

UTK (HEB) 版で HEX ファイルを作成しようとすると「未解決の外部参照名「__stack_chk」があります」というリンク エラーが発生する

コンパイル オプション -gs を指定してください。

UTK (HEB) 版で prime.c をコンパイル・リンクすると「未解決の外部参照名「_printf」があります」というリンク エラーが発生する

UTK 版に printf 関数は付属していません。printf 関数は OS (MS-DOS) の表示環境を必要としますが、UTK 版は OS を前提としていません。同様の理由で、fopen、malloc、exit などの OS 依存関数も UTK 版には付属していません。たとえば、仮想的な表示用バッファを確保して sprintf を使用すれば、コンパイル・リンクできます。→ UTK 版でコンパイル・リンクできる prime.c

アセンブラのマニュアルはないか?

https://www.tamasoft.co.jp/lasm/index.html からダウンロードできます。

グラフィック機能は付属しているか?

Light C にグラフィック機能は付属しておりません。

Light C は MS-DOS 汎用のプログラムを作成する C コンパイラですから、MS-DOS の OS コールや PC/AT の BIOS コールを使って線を描画することは可能ですが、そのような関数が付属しているわけではないので、自作するか、または互換性のあるライブラリを別途入手する必要があります。MS-DOS 用のグラフィックライブラリで、C またはアセンブラのソース コードが付属しているものならば使用できる可能性がありますが、そのようなライブラリに何があるか、こちらでは把握しておりません。

SS ≠ DS を前提とするコードを生成できるか?

Light C V1.38 以降では、コンパイル時に -lss を指定することにより、SS ≠ DS (DGROUP) を前提とするコードを生成できるようになりました。

作成したプログラムを Windows XP で実行したとき、何も表示されない (2004/10/21)

一部の Windows XP では、Light C で作成した prime.exe などのプログラムを実行しても何も表示されない場合があります。このような Windows XP では、すべての 16 ビット プログラムで同じ現象が発生するようです。

この場合は、DOS ウィンドウの左上隅をクリックし、[プロパティ] を選択して、[オプション] タブで [全画面表示] を選択してみてください。こうすれば正しく表示されるようになる場合があります。この後、再び [オプション] タブで [ウィンドウ表示] を選択するとウィンドウ表示に戻りますが、それでも引き続き正しい表示が得られるようです。

詳しいことはわかりませんが、Windows XP の問題ではないかと思います。