Q&A 使用上のヒント |
本プログラム・ソース集を利用される方から、いくつか共通的な質問を受けていますので、以下に、代表的な応答集を示します。是非、参考にして下さい。 |
質問 | Tomy の回答 |
マイクロソフトVisual C++ でコンパイルするとエラーが出ます。 | Tomy は、Visual C++ を所有しておりません。Visual C++に関する質問にはお答えできません。 また、この C プログラム集は、ボーランド社の Turbo C++ で開発しました。C/C++ 言語は移植しやすいと言われていますが、コンパイラによって独自の関数や定数を使っていたり、また異なるインクルードファイルに定義されていたりと、様々な違いがあります。つまり、他のコンパイラでエラーが発生する可能性は十分あります。但し、同じボーランド系の Borland C++ Compiler 5.5 というフリーのコンパイラが公開されています。それならば、おそらくエラーは出ないのではないでしょうか? |
Visual C++ でコンパイルしたいけど、values.h がありません。 | values.h は、MAXINT や MAXDOUBLE 等の機種依存するパラメータを定義しているインクルードファイルです。上記のBorland C++ Compiler 5.5コンパイラにはありますので、それを利用して下さい。
インクルードファイルのコンパイルエラー対処法エラーの出た箇所、例えば #include <values.h> をコメント化してコンパイルすると、今度は、未定義のマクロ定数がコンパイルアラームで表示されるはずです。そこで、そのマクロ定数を定義している自分のコンパイラのインクルードファイルを grep 等のファイル内検索ツールで探して下さい。 |
Visual C++で暗号プログラムのコンパイルしましたが、動作しません。 | 暗号プログラムでは、メモリ内容を直接操作する関数を使用しています。おそらく、Visual C++ と関数リファレンス(多分、引数の順番)が違っているものと思われます。Borland C++ Compiler 5.5コンパイラ を使用して下さい。 |
暗号化プログラムで、暗号化後のファイルサイズが増えています。 | FEAL 及び DES 暗号はブロック暗号で、8 バイト単位で暗号化しますので、暗号化後のファイルサイズは必ず、8 バイトの倍数になります。プログラムでは、最後のブロックの不足バイト分を 0 で補って暗号化しています。 |
M_PI、M_PI_2、M_SQRT_2 が宣言されていないというエラーが出ます。 | M_PI、M_PI_2、M_SQRT_2 は、それぞれ π、π/2、1/√2 を示すマクロ定数で、Turbo C++ では、math.h の中で定義されています。おそらく、あなたのコンパイラでは、違うインクルードファイルの中で定義されているはずです。grep 等のファイル内検索ツールで探して下さい。それでも見つからなければ、自分で #define M_PI 3.14… #define M_PI_2 1.57… #define M_SQRT_2 0.707… と定義して下さい。(これは、有効桁数が17桁程度の倍精度の定数です。) |
戻り先メニュー |