Visual Studio (Win32プログラム)には [プロジェクトのプロパティ]→[リンカ]→[システム] に「ヒープサイズの設定」項があります。
この項目は何を意味しているのかお教えください。
例えばこの項目に 100 を入力すると、リンク時のオプションに 「/HEAP:"100"」が挿入されます。
このことは「このソフトウエアに使用を許すヒープメモリの総量を "100バイト" とする。」の意味ではないのでしょうか。
ここ数日webを調べているのですがはっきり判りません。
また、自分で作成したソフトウエア(ヒープメモリをたくさん使っている)についても、「/HEAP:"100"」オプションを付けてコンパイルしても、結果に違いがないように思われます。
知識をお持ちの方がいらっしゃいましたら、ご回答をお願い致します。
No.1ベストアンサー
- 回答日時:
初期ヒープサイズの指定…ですかね。
http://home.a00.itscom.net/hatada/mcc/doc/pe.html
exeファイルのヘッダのSizeOfHeapReserveに相当するかと。
https://msdn.microsoft.com/ja-jp/library/cc43005 …
で取得できるプロセスヒープの初期サイズの指定…になるものと思われます。
# Cランタイムライブラリ使っていると、そちらで別にHeapCrete()しているかも知れませんが。(malloc()とかはそっちから取ってくる…かな?)
# VSでランタイムライブラリのソースコードをインストールしていれば、読んでみるのも手かも知れません。
>自分で作成したソフトウエア(ヒープメモリをたくさん使っている)についても、「/HEAP:"100"」オプションを付けてコンパイルしても、結果に違いがないように思われます。
一応、ヒープ領域は拡大可能だったと思いますので、不足していた場合にライブラリ内部で拡大の処理を行っているのではないかと。
早速ご連絡いただきありがとうございます。
「/HEAP」オプションを調べてみると、「既定値は 1Mb」と書かれており、ソフトウエアが多くのヒープを要求したり、またはフラグメンテーションが進み要求されたサイズを取得できなくなると、OSが追加のメモリを切り出してソフトウエアに与える。
などと、つまり「コンピュータ資源を使いきるまでヒープメモリは自動的に大きくなる。」意味が書かれたwebがたくさんあります。
一方、「https://devalon.biz/visual-studio-c-de-stdbad_al …」のように「ソフトウエアが利用できるヒープメモリの総量は /HEAP オプションで決定される。」意味のことが書かれたwebも散見されます。
Wr5様 も「”初期”ヒープサイズの指定…ですかね。」とお書きになり、「一応、ヒープ領域は拡大可能だった...」ところを参照すると前者のお考えのようです。
いったいどちらが正しいのでしょう?
No.2
- 回答日時:
>つまり「コンピュータ資源を使いきるまでヒープメモリは自動的に大きくなる。
」意味が書かれたwebがたくさんあります。今時のPC(OS?)なら仮想記憶などもあったりするので、メモリに関しては割と潤沢…かと。
# 組み込み系などのマイコンなどは除きますが。
>「ソフトウエアが利用できるヒープメモリの総量は /HEAP オプションで決定される。」意味のことが書かれたwebも散見されます。
「フラグメンテーションしないように大きめな値予約しとけ」みたいな意図に感じます。
実際のところは不明ですが……。
>「一応、ヒープ領域は拡大可能だった...」ところを参照すると前者のお考えのようです。
https://msdn.microsoft.com/ja-jp/library/cc43011 …
HeapCreate()の引数次第で、OSに対して拡大不可(というか最大値サイズ指定)が可能…っぽいです。
# ただし、OS側で最大ヒープサイズが決まっている場合もありますが。(アドレスのビット数の関係で)
VS2017のCRTだと、\Program Files\Microsoft Visual Studio 14.0\VC\crt\src\vccorlib\heap.cpp 辺りでHeapAlloc()のコールとかがあるようです。
で、プロセスヒープが拡大可能なのかは不明なまま……。
とりあえず…「/HEAP:オプションは現状ではあまり意味のないオプション」かな。と…私自身は思っていますけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
regsvr32で登録された一覧を知りたい
UNIX・Linux
-
読み込み中にアクセス違反が発生しました、と出ます。これを回避することは
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリアクセス時間の計測方法
-
「memcpy」と「strcpy」について
-
[ちょっと息抜き]メモリを解放 ...
-
メモリが不足しています(VBA)
-
メモリを解放しないとどうなる?
-
メモリのセグメント違反の解決...
-
エクセルのメモリ使用状況/Appl...
-
メモリの解放について VB6 VBA
-
プログラム領域の算出方法
-
エクセル キャッシュメモリー...
-
ファイルマッピング関数で失敗
-
クリスタルレポートでメモリ不...
-
プログラムの最大メモリ消費量...
-
C#におけるexeファイルのサイズ...
-
バッチファイルでの実行EXEのメ...
-
マイコンのメモリマップについて
-
エクセルVBA 大容量CSVファイル...
-
Macターミナルで実行中のプログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリのセグメント違反の解決...
-
「memcpy」と「strcpy」について
-
「ヒープサイズの設定」て何?
-
C言語における再帰呼び出しの...
-
メモリが不足しています(VBA)
-
【C言語】再帰が時間がかかる...
-
エクセルのメモリ使用状況/Appl...
-
大容量のメモリ確保をスワップ...
-
C#のOutOfMemoryException発生...
-
メモリ不足
-
ファイルマッピング関数で失敗
-
C++のCopyFileでメモリが増える
-
C言語初心者です。debug assert...
-
C言語:関数のメモリ上でのサイ...
-
移動可能メモリ
-
EXCEL-VBAにてADOのレコードセ...
-
VB.netでUSBメモリの固有I...
-
エクセルVBA 大容量CSVファイル...
おすすめ情報