• ベストアンサー

VCでのスタックサイズ

VC++2005のスタックサイズのデフォルトは知らないのですが プロパティ  構成プロパティ   C/C++    コマンドライン 追加のオプション /F 1000000000 953MBのスタックで約1Gのスタックはできるのでしょうか? また、実行ファイル(exeファイルから)スタック領域がわかる方法があるのでしょうか?

  • bazax
  • お礼率5% (12/228)

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

VC++のデフォルトは1MBだった気がします 試しにやってみたら0x7FFFFFFFまでは設定できました http://msdn.microsoft.com/ja-jp/library/8cxs58a6(VS.80).aspx

その他の回答 (1)

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

できるかどうかに純粋に興味がある、という趣旨のご質問内容なのか、 スタックオーバーフローで困っていて、スタックサイズの拡張で対応したいという要求から 出たご質問内容なのか、どちらでしょうか? 前者なら、できるのかどうか、私には知識がありませんが、 後者なら、そんな巨大なスタックを指定することは通常なく、 通常はヒープを使ったり、アルゴリズムを見直してスタックを消費しないようにします。 さて、どちらのご質問なのでしょうか?

関連するQ&A

  • 【VC++6.0(MFC)】スタックメモリサイズの変更方法

    いつも大変お世話になっております。 VC++初心者です。 スタックメモリサイズがデフォルトで1Mが設定されているようですが、 それを確認、及び、変更する方法を教えていただけませんでしょうか。 (具体的には、1.0Mから0.5Mにしたいです。) ちなみに、某サイトで 「プロジェクトのプロパティ→リンカ→システム→スタックのサイズの設定」 で変更可能であるとあったのですが、「プロジェクトのプロパティ」が何を指すのか分かりませんでした。 お手数ですが、よろしくお願いします。

  • VC Debugモード

    Visual Stdio .NET 2003 環境のDebugモードについて質問があります。 開発言語は C++です。 今、コマンドライン引数を以下のように設定し、ファイルに保存された 情報を処理するプログラムを作成しています。 test1.exe 0 ./input.txt ↑ [実行ファイル名][検索したい文字][処理したいファイルへのパス] 上のように入力した場合、argcは[3]を返すと思うのですが、Debug モードでいざ実行してみると、値は「4」となっていました。 コマンドライン引数はVCの「プロジェクト」→「**のプロパティ」 →左ウィンドウの「デバッグ」→右ウィンドウの「コマンド引数」に 上のように設定しています。 また、Debugモードでargv[0]を調べたところ、実行ファイルまでのパス が保存されていました。 なぜ、このようになるのでしょうか? あと本題からそれるのですが、ソースの中でVCがDebugモードで動作していることを知る方法はないでしょうか? もし、Debugモードなのかどうかがわかるのであれば、ソースをDebug モード用とReleseモード用とに切り替えられるようにしたいのですが。。。 合わせてお教えください。

  • VCでコンパイル

    VCでコンパイル VC(2010)でコンパイルしたとき実行ファイルをダンプすると プロジェクトのフォルダ位置 X:\Project\Test\~ とか 各種API名 xmlで書かれた "manifestVersion" などが埋め込まれてしまいます。 この情報を埋め込まない方法を教えてください。 コマンドラインからコンパイルすると、埋め込まれなかった気もしますが コンパイルオプションのどこかを設定すれば削除されるのでしょうか?

  • VC Express ユーザー権限での使用方法

    Microsoft Visual C++ 2010 Express を、Administrator 権限のない(インストールできない)状態で使う方法を、ご存知の方がいらっしゃいましたら教えていただきたくお願いします。 推奨される条件ではないかもしれませんが、そこを可能にする方法をお願いします。 レジストリを編集すれば使えるのでしょうか・・ cl.exe やその他関連ファイルへのパスを一通り通しても、 「cl : コマンド ライン error D8027 : 'C:\My Program Files(自作フォルダ)\Microsoft Visual Studio 10.0\VC\BIN\c1xx.dll' を実行できません」というエラーが出て、コンパイルもできませんでした。 OS : Windows XP 用途 : コマンドラインベースの実行ファイルを、 cl, link, nmake などコマンドラインツールを使って(GUIのウィザード類を使わず)ビルドしたいと考えております。

  • VC++の最適化

    VC++で、最適化のオプションをつけずに、 デフォルトでコンパイルすると動作するのですが、 実行速度の最適化オプション /O2 をつけると、 特定の動作をさせるときにフリーズしてしまいます。 これを回避させるために、問題の発生する動作にかかわる ソースコード部分にだけ、最適化を行わないようにしたいのですが、どのようにすればよいでしょうか? アドバイスいただけますでしょうか? 環境は Win2000 で VC++6.0 SP3 を使用しています。

  • BCBで作成したDLLを、VC++で静的リンクさせる方法

    BCBで作成したDLLを、VC++で静的リンクさせる方法 Borland C++ Builderで作成したDLLを、VC++アプリケーションで利用できるように LIBファイルに変換したいのですが、上手くいきません。 下記の手順を踏みました。 1. BCBでDLL作成   「VC++スタイルのDLL」で作成、   「VCLを使う」「CLXを使う」「マルチスレッドを使う」はチェックせず 2. コマンドラインで「IMPDEF.exe」を使用して、dllからdefファイル作成   (IMPDEF.exeは、\Borland\CBuilder6\Binに格納されていた) 3. コマンドラインで「LINK.exe」「LIB.exe」を使用して、defからlibファイル作成   (LINK.exeとLIB.exeは、\Microsoft Visual Studio\VC98\Binに格納されていた) 4. VC++プロジェクトファイルを保存したフォルダに、DLLファイルとlibファイルをコピー 5. VC++の「プロジェクト」-「設定」-「リンク」-「オブジェクト/ライブラリモジュール」に   作成したlibファイルを追加 VC++プロジェクトをビルドすると、下記のエラーメッセージが表示されます。 ///////////////////////////////////////////////////////////////////////////////// dllread.obj : error LNK2001: 外部シンボル "__imp__(関数名)@0" は未解決です LIBC.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Release/dllread.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー ///////////////////////////////////////////////////////////////////////////////// BCBとVC++のバージョンは、下記の通りです。 BCB Professional 6.0 VC++ 6.0 ちなみに、同じDLLを動的リンクで利用することは出来ました。 初心者の質問で申し訳ございませんが、解決策が分かる方がいらっしゃいましたら 教えていただけないでしょうか?

  • コマンドラインからのコンパイル(VC++6.0)

    再度利用させていただきます。 Visual C++ を利用してコマンドラインからコンパイルをできずにいます。 勿論、VCVARS32.bat を実行し、環境変数の初期サイズを 4096 以上に設定してはいますが、 コンパイル(cl *.c)を実行しますと, "コマンドまたはファイル名が違います." と表示されてしまいます。 さらに必要な設定がありましたら、 恐れ入りますが詳しく教えて頂けますでしょうか。 こちらの環境は、 PC  PC9821 OS Win95 VC++ 6.0 どうぞよろしくお願いします。

  • VC++(VS)でコンソールアプリ(複数ファイルからなる)を作成したい

    マイクロソフト社のVC++(Visual Studio 2008)で コンソールアプリケーションを作成しようとしております。 ファイルは複数ファイルからなり、 mainprogram.cpp -> 実行ファイル(mainprogram.exe) subprogram1.cpp -> オブジェクトファイル(subprogram1.obj) subprogram2.cpp -> オブジェクトファイル(subprogram2.obj) ・・・以下続く のように 1)サブプログラムをobjファイルとしてコンパイル 2)メインプログラムをコンパイルしてobjファイルとリンクし、   実行ファイルを作成する というような作業を行いたいと考えております。 以前はLinuxの環境でg++、makeを利用して このような構成のコンソールアプリケーションを作成しておりました。 が、VCに移行するに当り、どのようにプロジェクトファイル等を 構成して良いか分からず、出だしでつまづいております。 VCにもコマンドラインでコンパイルする方法 (cl, nmakeを使うんでしょうか。。。)があるみたいですが、 これらの手法について書かれている 書籍、サイト等を探すことが出来ないでおります。 VCに関して、このような使用法に対する解説がなされている書籍、 もしくはサイト等をお教え願えませんでしょうか? 宜しくお願い申し上げます。

  • VC2005 ビルドオプションについて

    VC2005で質問です。 [やりたいこと] VC2005でビルドを行い、意図したライブラリができるとします。 そのライブラリファイルを、予め準備していたExeファイルへ 入力/実行を自動的にする方法(設定)とかってあるのでしょうか? この時、作業はVC2005でビルドするだけです。 すみません、分かりにくいですね。 もう少し詳しく。。 [作業] 1. VC2005でビルドを実行 (1)Lib fileが作成される (2)予め準備していたexeファイル (3)予め準備していたexeファイルが出力したファイル 通常はビルドするだけだと、Libファイルが出来て((1)で)終了です。 今回やりたいのは、そのLibファイルを自動的に予め準備していた exeファイルへ入力/実行し、そのexeファイルから出力されたファイル を自動的に作成したいというものです。 言ってる事同じですね^^; ご存知の方がいらっしゃいましたら、ご教授ください。

  • BCCコンパイラ5.5(ボーランドの無料製品)での、実行可能ファイルの作成

    ボーランドより、フリーのC・C++コンパイラをダウンロードしました。↓機能一覧です。 http://www.borland.co.jp/cppbuilder/freecompiler/bcc55feature.html コンパイラというだけあって、実行可能ファイル(.exeファイルみたいなやつ)は作成できないんですかね?Javaだと全部ただで実行可能ファイルまで作成できるんですが。。 VCをもっているんですが、めんどくさいのでコマンドラインから操作できるものがいいです。 フリーで実行可能ファイルまで作成できる、コマンドラインで開発できるものはないでしょうか?言語はもちろんCです。 分かる方、よろしくお願いします。

専門家に質問してみよう