No.2ベストアンサー
- 回答日時:
#1です。
>テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
はい、その通りです。
>mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
いいえ、mallocした領域は、ヒープ領域であり、ヒープ領域にデータを書き込んだからといって、データ領域が増える訳ではありません。
コーディングでは、以下のようになります。
-----------------
#include ....ヘッダファイル
char data1[256]; ・・・・データ領域
main()
{
data data2[256]; ・・・・スタック領域
if (・・・){ ・・・・テキスト領域
・・・
}
malloc(3000) ・・・ヒープ領域へ確保
}
main等の関数の外側で確保した領域は、データ領域に取られます。
main等の関数の内側で確保した領域は、スタック領域に取られます。(static指定を除く)
実際に命令(if文など)は、テキスト領域にとられます。
mallocで確保したメモリはヒープ領域に取られます。
(但し、テキスト領域の言葉は正しいかどうか不明です。参考URLを参照下さい)
ところで、どうして、メモリをたくさん使うようなテストプログラムを作りたいのですか、よかったら教えて下さい。そのほうに興味があります。
参考URL:http://www1.cts.ne.jp/~clab/hsample/Point/Point1 …
大学の研究です。
Linuxの限界時のパフォーマンスをシミュレーションするつもりです。
詳しい解説&参考URLありがとうございました。
大変参考になりました。
No.3
- 回答日時:
アセンブラで.text, .data, .bss等の各セクションにテーブルを配置させれば簡単にできると思いますが、
C,C++じゃないからだめですか?
No.1
- 回答日時:
1つの例として、malloc関数を使用する方法があります。
mallocは、指定されたサイズ分のメモリをヒープ領域に確保します。mallocで指定するサイズ(=確保するメモリサイズ)を非常に大きな値にすれば、たくさんのメモリを消費するプログラムが作成できます。詳細は、man mallocで調べて下さい。
mallocを使うとヒープ領域がたくさん確保できるのですね。ありがとうございます。
テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
また、mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- C言語・C++・C# 【CASLプログラム】 定数(80と55)を確保し、その和をGR1に、その差をGR2に求めるCASL 1 2022/12/16 01:17
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- CPU・メモリ・マザーボード ストリーミングの一時処理用の領域について 1 2023/04/11 21:55
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- 物理学 示すように,真空中の直交座標系を考える。y平面に平行な つ領域Iと領域Iがあり,軸上の領域Iと領域I 1 2023/06/25 14:46
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- CPU・メモリ・マザーボード デスクトップPCのOS(C:)の空き領域がどんどん減ります。 9 2022/12/12 09:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
newしないオブジェクトについて
-
allocってなんですか?
-
mallocについて
-
C++のnewで確保したメモリーの...
-
Accessで、メモリを開放するタ...
-
LPWSTRのコピー
-
ポインタのポインタの初期化法
-
プログラムが途中で強制終了し...
-
DLLのマルチスレッドの動作につ...
-
LPTSTR型の変数に文字を格納
-
グローバル変数のサイズ
-
malloc関数(strtok関数の自作版...
-
mallocで確保するメモリの領域...
-
ヒープメモリの解放について
-
実行ファイルのメモリ上のアド...
-
malloc()関数内でセングメント...
-
free関数で動作が止まる
-
文字列ポインタとgets関数の関...
-
スタック破壊の上手な見つけ方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mallocについて
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
newしないオブジェクトについて
-
ヒープメモリの解放について
-
C++で、メンバもヒープに確保さ...
-
MSDNがgethostbynameではなくge...
-
プログラムが途中で強制終了し...
-
配列の添え字の最大数とは?
-
Accessで、メモリを開放するタ...
-
ヒープ領域の限界値設定
-
malloc呼び出し時のセグメンテ...
-
スタック破壊の上手な見つけ方...
-
C言語 mallocとfreeについて
-
指定したメモリアドレスの値の...
-
stringの最大サイズ
-
16進ダンプのプログラム
-
64ビットと32ビットの違い
-
入れ子になった構造体について
-
free関数で動作が止まる
おすすめ情報