C プログラムのメモリ制限を増やす方法を教えてください。コードブロックを使用して、次のコードを試しています-
int arr[10000000]
実行時エラーが発生しています。Linux(Fedora)を使用しています。助けて…?
C プログラムのメモリ制限を増やす方法を教えてください。コードブロックを使用して、次のコードを試しています-
int arr[10000000]
実行時エラーが発生しています。Linux(Fedora)を使用しています。助けて…?
この宣言はどこで行われますか? Linuxマシンのメモリに収まるはずですが、特別なアクション(例:)を行わない限り、おそらくスタックには収まらないと思いますulimit -s
。一般に、大規模なローカル C スタイル配列を使用することはお勧めできません。実際、特別な場合を除いて、ローカル配列を使用することはまったくお勧めできません。C++ の通常の配列と同じように定義するだけです。
std::vector<int> arr( 10000000 );
これにより、実際のデータがヒープに移動されます。ヒープは、おそらくそのような大規模なデータ セットが属する場所です。
int arr[10000000];
それは私にとってはうまくいきます..これはC::Bに依存しているとは思いません.これはあなたのコンピューターからのものだと思います.