
A 回答 (20件中11~20件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
質問者> >このバッファは減りはしないらしいのですが、
他の回答者> そのバッファについて書かれている原典を、そのまま、ここのサイトに提示していただけませんでしょうか。
質問者> すみません。原典はなくて、studio.hのバッファに関する疑問で、
「原典」という意味が通じてないようですが(多分「出典」と聞いた方が良かった)、
「このバッファは減りはしないらしいのですが、」
は「らしい」ということは、「減りはしない」と誰かから聞いたか、何かを読んだかですよね?
その「誰からどういう状況でなんと聞いたか(正確に詳しく)」あるいは、「https:~~~のサイトに書いてあった」「○○という書籍の○○の章に書いてあった」というのを書きましょう。
皆さん、質問の意味を何とか汲み取って回答しようと努力しているので、あなたも努力しましょう。
もし、「どこかで何か聞いたような気がするだけで詳しくは覚えてない」程度の記憶であれば、まるごとすっぱり忘れてしまうのが良いと思います。
No.8
- 回答日時:
>つまり、私の回答は合っているのでしょうか?
あなたが言っているバッファの意味ですが、以下のように解釈します。
「プログラムのバッファが1GBある」とは、
「プログラムで確保した(mallocで確保した)メモリが1GBある」と同義とする。
「プログラムが消えていく」とは
「プログラムが終了する」と同義とする。
上記の前提での回答です。
プログラムで確保した(mallocで確保した)メモリが1GBあって、2MBを使ったとき、
の残りは998MBになります。使い終われば2MBの領域がまた使えるようになるので、1GBが使用可能に
なります。
従って、ここまでは、合ってます。
>これは、(使い終わったら元の1GBになる)プログラムが消えていくのはありえないからでしょうか?
この意味が、不明です。(なので、合ってるか、合ってないかはわかりません)
メモリを1GB確保した状態で、プログラムが終了した場合は、OSによってその1GBは、強制的に解放され、
他のプログラムが使用可能になるように回収されます。
(その終了したプログラムが使いっぱなしになることはありません)
通常は、プログラムが終了する前に、そのプログラムが使用したメモリを解放するのが一般的な方法です。
No.7
- 回答日時:
Chat GPTに以下の質問を投げてみました。
参考になれば幸いです。
質問:
C言語 バッファについて
コンピューターとプログラムのバッファが1GBある時に2MBを使う時、残りのバッファは998MB残っていますがこれは使い終わったら、また2MB戻って来てまた元の1GBになるらしいのですが、これは、(使い終わったら元の1GBになる)プログラムが消えていくのはありえないからでしょうか?
ChatGPTの回答
C言語や他のプログラムがメモリを使用する方法について誤解が生じているようです。メモリバッファを使用して2MBのメモリを割り当てた場合、それが使い終わった後でも、元の1GBのメモリは変わりません。プログラムが終了しても、メモリは通常、再び使用可能な状態に戻ります。
メモリはプログラムの実行に使用され、メモリを割り当てることはプログラムの一部として行われます。メモリが解放されるか、プログラムが終了すると、そのメモリは他の用途に再利用できるようになります。したがって、メモリバッファを2MB使用しても、そのメモリはプログラムが終了したり、メモリが解放されたりすると、元の1GBに戻ります。
プログラムが実行中である限り、そのプログラムが割り当てたメモリは利用可能です。しかし、プログラムが終了したり、メモリを解放したりすると、そのメモリ領域は他のプログラムやシステムによって使用できるようになります。このプロセスはコンピュータのメモリ管理に関連し、プログラムが終了してもメモリがクリアされる仕組みがあります。
プログラムの実行とメモリの割り当ておよび解放は、コンピュータの基本的な機能の一部であり、メモリリーク(メモリの適切な解放を行わないことによる問題)などの問題を防ぐために、適切なプログラム設計とメモリ管理が重要です。
No.6
- 回答日時:
Chat GPTに問い合わせてみました。
C言語のバッファに関する回答です。
C言語における「バッファ」は、通常、データを一時的に格納するためのメモリ領域を指します。
バッファは、データの読み取りや書き込みを効率的に行うために使用されます。主に次の2つの種類のバッファがあります:
入力バッファ(Input Buffer):データを読み取るための一時的なメモリ領域です。
例えば、ユーザーからのキーボード入力やファイルからのデータ読み取り時に、読み取ったデータを一時的に格納するために使用されます。
C言語では、scanf関数やfgets関数など、標準入力からデータを読み取る際に入力バッファを使用します。
char buffer[256];
scanf("%s", buffer);
この例では、bufferが入力データを一時的に格納するための入力バッファです。
出力バッファ(Output Buffer):データを書き込むための一時的なメモリ領域です。
例えば、文字列をファイルに書き込む際に、文字列を一時的に格納するために使用されます。
C言語では、fprintf関数やfputs関数など、データをファイルに書き込む際に出力バッファを使用します。
FILE *file = fopen("output.txt", "w");
char buffer[256];
fprintf(file, "This is a message: %s", buffer);
この例では、bufferが出力データを一時的に格納するための出力バッファです。
バッファは、プログラムのパフォーマンスを向上させるために使用されることがあります。
データを一度に大きな塊で読み取り、バッファに格納してから処理することで、I/O操作の回数を減らし、効率的なデータ処理を実現できます。
ただし、バッファのサイズや管理には注意が必要であり、適切なサイズとデータの整合性を確保することが重要です。
バッファを使用する際には、データのオーバーフローやアンダーフローに気を付け、セキュリティの観点からバッファオーバーフロー攻撃を防ぐために注意が必要です。
No.5
- 回答日時:
>原典はなくて、studio.hのバッファに関する疑問で、プログラムで使う関数がバッファに用意されていて、その関数を使ったら、またバッファに戻り、次の関数をまた使い、また戻す。
具体的にその関数名を提示していただけませんでしょうか。また、そのバッファに関する定義も提示していただけませんでしょうか。
私の知る限りでは、プログラムから呼び出し可能な関数はていぎされていますが、バッファに関する定義は見当たりませんでした。(見落としているかもしれませんが)
プログラムから呼び出し可能な関数の一覧は、
https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9 …
に記述されています。
バッファに関する定義は、一般的にはアプリケーションプログラムで定義するもので、stdio.h内に定義されるものではないかと思います。
ここで、私が述べたバッファとは、ファイルの読み書きなどの時に、stdio.hで記述された関数(fread,fwrite)から読み込んだレコードの内容を受け取る領域、もしくは、ファイルに書き込むべき内容を設定した領域のことを言っています。もし、違う意味であなたが使用されている場合は、その旨、補足してください。
No.4
- 回答日時:
私が『プログラムのバッファーってなんでしょうか?』と補足を求めているのに貴方は
『バッファが1GBある時です。教えて頂けると幸いです。』と返す
だから、バッファーて何?サイズなんて本筋じゃないって
とてもコンピューターやプログラムを勉強している?人の言葉とも思えない
『プログラムが消えていく』ってのも謎だし
テキスト・解説書にそんな言葉の使い方は存在しないはずだよね
No.3
- 回答日時:
>このバッファは減りはしないらしいのですが、例えば、998MBが996MBになる事はないらしいのですが。
そのバッファについて書かれている原典を、そのまま、ここのサイトに提示していただけませんでしょうか。
現状では、バッファについての定義が不明な為、回答者と質問者様との間で話がかみ合っていません。
この回答へのお礼
お礼日時:2023/10/14 20:46
すみません。原典はなくて、studio.hのバッファに関する疑問で、プログラムで使う関数がバッファに用意されていて、その関数を使ったら、またバッファに戻り、次の関数をまた使い、また戻す。という感じです。教えて頂けると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの開き方
-
Excelで4096点以上のFFTの方法
-
Vba UserFormを前面に出す方法...
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
VBAでユーザーフォームが自動的...
-
あるプログラムのコマンドライ...
-
PICマイコンのコピー(クローン...
-
VBAで当番表をシャッフルするプ...
-
ドロップダウンリストの文字を...
-
「Outlookが他のプログラムによ...
-
ゲーミングPCに入っているAlris...
-
n88basicからwindows版Basicへ...
-
.cfgファイルについての質問
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
OS入ってる機器のソフト・アプ...
-
TMBMSRV.exeによるCPU使用率上昇
-
VB6のWScript.Shellについて
-
Visual C++で走行時に動かなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイルの開き方
-
あるプログラムのコマンドライ...
-
OS入ってる機器のソフト・アプ...
-
Excelで4096点以上のFFTの方法
-
読み込み中にアクセス違反が発...
-
銃を発砲するならともかく、日...
-
VBAにてメール作成した際、一部...
-
ドロップダウンリストの文字を...
-
PICマイコンのコピー(クローン...
-
UWSCで指定のフォルダを開きたい。
-
XnViewにwebpを「いつも開く」...
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
visual studio 2019を使ってい...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
powered byの表記について
-
画像を読み込むのと取り込むの...
-
VC++コンソールアプリでウイン...
-
Google カレンダーの商用利用
おすすめ情報
ちなみになのですが、バッファとは何ですか?と聞かれて、あなたはどんな回答をするのか知りたいです。差し支えなければ教えて頂けると幸いです。