- ベストアンサー
VisualC++6.0でhugeモデルを使いたいのですが
学校でプログラミングの勉強しているのですが、音声データを読み込むためにhugeというのを使えと言われました。 例を言うと short int huge *pitch; short huge *x; といったようにように定義しているのですがコンパイルすると「非標準の拡張機能が使用されています : 'huge' は互換性のために残されているキーワードです。」というエラーが出てしまいます。 どういったエラーの処置が必要なのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
hugeは言語標準でもないし、あくまで古いコード用だから使わない方がいいよ、ということです。 MS-DOS時代のコンパイラならいざ知らず、 昨今WindowsでVC6だとhugeとかfarとかの指定は不要です。 「使え」と言った人(本?)がかなり古いのではないでしょうか。
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
hugeは VC++6.0では使いません VC++6.0は 32ビットモードのアプリしか作成できないからです hugeなどがあるのは16ビットアプリを作成するC/C++コンパイラです メモリーモデルついても Win32では Small/Tiny/Largeなどはありませんよ 学校で使われているコンパイラ VC++6.0なのですか?
- phoenix343
- ベストアンサー率15% (296/1946)
昔の8ビット、16ビットCPUだった時代はプログラムが扱うデータなどの大きさに応じて、スモール、ラージ、ヒュージ、などというモデルがありました。 中でもヒュージモデルは一番大きなデータなどが扱えました。またそれだけでかい処理が書けたのです。 今は32ビットCPUや64ビットCPUが普通に出回っている時代で、もう最初からヒュージモデルがデフォルトになっています。だから古いキーワードですという警告なのです。 まあ警告なのでほっといてもいいのですが、個人的に言えばhugeなんて指定しなくてもいいと思いますよ。教えてる先生が知らないだけです。