• ベストアンサー

linux-fedora14でgcc-c++を

linux-fedora14でgcc-c++を使っていますが メモリを64[MB]=67108864[B]以上使うと # ./a.out>gomi Segmentation fault (コアダンプ) # となりエラーが発生してしまいます どうしたらより多くのメモリを使えるでしょうか? よろしくお願いします

  • reiman
  • お礼率73% (794/1076)

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

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

さっき閉じられて返信できなったですがgcc-C99のboolって1バイトのはずです。 で、64[MB]はローカル変数(スタック)でしょうか? グローバル変数にすれば大丈夫なはずですよ。 それとノーマルgccでc99でboolをつかってコンパイルするには、 #include <stdbool.h> が必要です。-std=c99オプションも付けたほうが良いでしょう。 gcc-c++は単なるC++コンパイラですよ。C言語じゃなくなってますが良いのでしょうか?

reiman
質問者

お礼

ありがとうございます #include <stdbool.h>をつけたらgccで動きました aizeofで調べると1バイトみたいですね 1ビットは難しそうなので1バイトでいくことにしました グローバル変数にしたら64MBを越えることができました

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

実行時に同的に確保するも可.

reiman
質問者

お礼

ありがとうございます グローバルで行き詰まったらmallocでやらせてもらいます

関連するQ&A

  • gccでc++プログラムをコンパイルできない

    gccをインストールして使ってみたのですがc++のプログラムをコンパイルすることができません。 gcc test.ccとすると gcc: error trying to exec 'cc1plus': execvp: そのようなファイルやディレクトリはありません というエラーがでます。 ネットで調べたところg++かc++のようにコンパイルすればいいということでしたが、g++やc++とうつとcommand not found とでます。 gcc -versionで調べたところgccのバージョンは gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) です。 環境はfedora9です。fedora9をインストールしたときにgccがインストールされていなかったので yum install gcc でインストールしたのですが、これがまずかったのでしょうか? 分かっている方からするとトンチンカンな質問かもしれないのですが、どなたかよろしくお願いします。

  • gccをインストールすることができません。

    私は、最近Linuxに興味を持ってWin98にFedora Core1 をインストールした初心者とも言えない初心者です。以前質問させていただいたのですが、Fedora Coreをイインストールした時点ではgccが入っておらず、gccがインストールできず泥沼にはまってしまっております・・ それがゆえにインターネットにも接続することができずにおります。 PCの環境なのですがWin98を使っていた頃はpppoe接続をしていて、今の環境下ではインターネットに接続することすらできません。 購入した本に付属していたインストールCDにgccのrpmが収録されていたのでインストールを試みたのですが下のようなエラーが起きてしまいインストールすることができません。これは調べた結果コンパイラ類の依存関係によるエラーだと解りました。 警告: /mnt/cdrom/Fedora/RPMS/gcc-3.3.2-1.i386.rpm:V3 DSN signature: NOKEY,key ID 4f2a6fd2 エラー: Failed dependecies:     binutils >=2.14.90.0.4-4 is needed by gcc-3.3.2-1     blibc-devel >=2.2.90-12 is needed by gcc-3.3.2-1 このHPで検索してみると、私と同じような質問が載っていました。その方はインストーラCDからのアップデートでgccをインストールできたと書いてあるのですが方法がわかりません・・ 何かgccをインストールするのに良い方法はないでしょうか・・ どなたかご存知の方がいらっしゃればぜひ教えてくださると助かります。どうかよろしくお願いいたします。m(_ _)m

  • linux3.1について

    初めて質問をするのですがよろしくお願いします。 私は大学生で、最近、研究室の自分のパソコンにVine Linux3.1をインストールしました。 そして、研究室内でのネットワークも設定しましたが、 自分のパソコンから研究室の別のパソコンにリモートログインしてemacsを開こうとすると、 「Fatal error (11).Segmentation fault (core dumped)」 というエラーメッセージがでて開けません。 どうすればemacs が開けるようになるのでしょうか? ちなみに、ここでいっている「別のパソコン」はVine Linux 2.1.5がインストールされています。

  • Linux Fedora7 に適したパーツは?

    友人から譲り受けた7年位まえのパソコン(CPU:Celeron 1000MHz メモリ:512MB、HDD:80GB)にLinux Fedora7をインストールしてWebサーバー・メールサーバー・ファイルサーバー(Samba)等を構築していますがGUIでの操作やファイルサーバーへの書き込み・読み出しにスペックが低いためか時間がかっています。 現在新しいハードに変更しようかと検討中ですが、ホームページ等を見るに、最新パーツでなく1~2年ぐらい前の片落ちのものが最適とあります。 しかしオークション等で見ても手ごろな出品物がないため下記のパーツを購入して組み立てて見ようと思いますが、Linux Fedora7が動作するでしょうか?? CPU:AMD Athlon64 X2 3600+ MB:ASUSTeK M2A-VM (チップセット AMD 690G+SB600 ) メモリ:DDR2 PC5300-512MB ×2 HDD:250GB 8MB 7200rpm S-ATA 3Gb/s また、お勧めのパーツがあればあわせてよろしくお願いします。

  • GNUコンパイラとIntelコンパイラの違いについて

    今回fortranとC言語で書かれたWindows用プログラムをLinux用に移植することになりました。GNUのコンパイラを使用し無事コンパイルできたので実行したのですが"Segmentation fault"となりうまく実行できませんでした。そこで試しにIntelのコンパイラを使用しコンパイルしてみたところGNUのときとは違い"Segmentation fault"とは出ず、プログラム内のエラーチェックに引っかかり止ってしまいました。同じソースコードにもかかわらず止まる箇所が異なります。 今まで考えたことがなかったのですがGNUとIntelのコンパイラの違いはなんなのでしょうか?また、この二つ以外にいいコンパイラはあるのでしょうか?

  • h8300-linux-elf-gccで指定可能な配列の大きさ

    AKI-H8/3069Fを使ってプログラムのC言語による組込ソフトの勉強をしています。そこで、教えていただきたいのですが、配列の大きさの上限値はいくつなのでしょうか? 例えば、unsigned int char a[1025];としてもコンパイル時にエラーが出なければ大丈夫なのでしょうか? 参考にしているのは、書籍『はじめる組込みLinux』です。そして、そのサポートサイトからダウンロードしたGCCコンパイラ(h8300-linux-elf-gcc)を使用しています。

  • C言語のプログラムが実行できません。

    C言語のプログラムが実行できません。 コンパイルは出来るんですが、実行すると、「Segmentation fault」と表示されてしまいます。 これは何のエラーなんでしょうか? 基本的な事かもしれませんが、分かる方宜しくお願い致します。

  • Objective-cでNSLogが使えない

    Objective-cのNSLogで標準出力に出力したいのですが、 どうにもうまくいきません。 ソース $ cat oshiete.m #import <Foundation/Foundation.h> int main(int argc,const char * argv[]) {   NSLog(@"Hello World!");   return 0; } コンパイル $ clang -lgnustep-base -lobjc -I/usr/include/GNUstep -I/usr/lib/gcc/i486-linux-gnu/4.4/include -g -Wall oshiete.m -o oshiete 実行 $ ./oshiete Segmentation fault OSはUbuntu 10.04.1 LTSで、コンパイラはclangを使用しています。 gdbでステップ実行すると、NSLog実行時に以下のエラーが得られました。 Program received signal SIGSEGV, Segmentation fault. 0xb7c52e46 in __objc_get_forward_imp () from /usr/lib/libobjc.so.2 Objective-cが良く理解できてないのですが、Gnustepライブラリとリンクして 動作しているはずなので、そこの動きがよくない?? コンパイルでのエラーや警告は0件です。 自力での解決が困難です。 どなたかお力添えをお願いいたします。

  • 組み込みLinuxのmakeについて

    現在、組み込みlinuxの開発をいるのですが 今までWindowsアプリケーションしかやっていなかった為 勉強しながら作業をしております。 質問なのですが クロス環境で実行ファイルを作成する場合、コンパイル・リンクオプションで どの様な指定が必要なのでしょうか? お手数をおかけしますが、アドバイスを頂けないでしょうか。 評価ボード :NTNP425B (Intel IXP425) 開発マシンOS:RedHatLinux 9 ------ 私が指定したのは以下のオプションですが これをターゲット上で実行すると「segmentation fault」が発生します。 arm-linux-gcc -t -I/usr/local/arm-linux/include -mcpu=xscale -mtune=xscale -mbig-endian -I/usr/local/arm-linux/include -c sample.c arm-linux-ld -EB -nostdlib -o sample sample.o arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00008074 ※至急回答がほしい為、マルチポストをしていますがお許し下さい。

  • ubuntu9.10 severのgccについて

    突然ですが今、家にあった古いpcUbuntu 9.10severをインストールしました。(2012年九月四日です)その環境でc言語の勉強とLinuxの勉強のためgccをインストールしようとしたら、パッケージが見つからないとのエラーが出ます。その理由と、gccのインストール方法を教えてください。

専門家に質問してみよう