- ベストアンサー
なぜセグメンテーション違反??
madmanの回答
どんなものか見えないと、なんともいえませんが、そのプログラムは単体で動作するのでしょうか? 環境変数やデータファイルなどを利用するのであれば、環境がそろっていない場合や、バグを内包しているプログラムの場合は、十分にありえます。 まぁ、ひとつの可能性としてですが。
関連するQ&A
- セグメンテーション違反について
C言語であるプログラムを作っています。コンパイルは上手くできるのですが、実行するとセグメンテーション違反と出てしまいます。それもセグメンテーション違反と出るときと出ないときがあり困っています。そこでプログラム中のどこがセグメンテーション違反を指しているのか知りたいのですが、何かセグメンテーション違反の場所を教えてくれるようなオプションはないでしょうか? プログラムソースを見てもらうのが一番いいと思いますが、行数が1000行を超えているので断念しました。OSはLinuxでコンパイラはgccです。どなたかご教授お願いします。
- ベストアンサー
- C・C++・C#
- セグメンテーション違反について
現在、FORTRANを使ってプログラミングを行っています。 プログラムを作って、コンパイルまではうまくいき、いざファイルを実行してみると、「セグメンテーション違反です」という文字が出てしまいました。 いったい何が原因でそのような現象が起こってしまったのでしょうか。 ご教授願えればと思います。
- 締切済み
- その他(プログラミング・開発)
- セグメンテーション違反とは??
linuxでC言語のプログラムを構築しています。 gccでコンパイルしたときにセグメンテーション違反という エラーが出てしまいます。 セグメンテーション違反とは一体なんの ことなんでしょうか? メモリのことだと思ってるんですが、原因がよくわかりません。C言語初心者なので わかりやすく教えて頂けるとありがたいです。
- ベストアンサー
- C・C++・C#
- 「セグメンテーション違反」について
参考書に載っていたプログラムを打ち込みながら勉強していたのですが、次のプログラムを動かしたときに「セグメンテーション違反」と出てきました。 /* 可変書式による印字_簡単な棒グラフ */ #include <stdio.h> main() { char *f, *a; int i; f="%2d = %-20.1s\n"; a="********************"; for(i=1; i<10; i++){ *(f+11)=i+'0'; printf(f,i,a); } } コンパイル後に、 「セグメンテーション違反です」 と、表示されて終わってしまいます。 何処が問題だったのでしょうか???教えて頂ければ幸いです。
- ベストアンサー
- C・C++・C#
- セグメンテーション違反
C言語を使用しています。 構造体に値をいれようとしたら、コンパイルは出来るのですが、実行時に 「セグメンテーション違反です (core dumped)」 となってしまい、それ以上行えません。 構造体と代入したい変数との型は、合っています。 いろいろ本などで見ましたが、何が原因かわからず困っています。 教えてください。 宜しくお願いします。
- ベストアンサー
- C・C++・C#
- PHPのセグメンテーション違反に対する例外処理について
PHPのセグメンテーション違反に対する例外処理について 再帰呼び出しのプログラム(error_seg.php)を作成し、Linuxのシェルで $ php error_seg.php と実行しました。 実行環境: PHPのバージョン:5.2.10 Linuxのバージョン:2.6.18-164.15.1.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Mar 17 11:37:14 EDT 2010 プログラムは下記の通りです。 <?php $cnt=0; function func(){ global $cnt; $cnt++; print $cnt . "回目の呼び出し\n"; func(); } try{ func(); }catch(Exception $e){ echo "例外発生:" . $e->getMessage()."\n"; } ?> ※このプログラムは、 http://d.hatena.ne.jp/syonbori_tech/20090414/1239717538 のサイトを参考にして作りました。 この結果、 1回目の呼び出し 2回目の呼び出し ・・・ 26187回目の呼び出し 26188回目の呼び出し セグメンテーション違反です と表示され、セグメンテーション違反を再現させました。 ※何回目でセグメンテーション違反が発生するかは、 その都度異なります。 プログラム中で、try-catchの例外処理を入れたのですが、 例外処理されないようです。セグメンテーション違反に対して 例外処理をすることはできないのでしょうか。 できるとすれば、どのように記述をすればよいでしょうか。
- ベストアンサー
- PHP
- 圧縮プログラムを実行すると「セグメンテーション違反」と出る。
プログラムをチェックして頂きたいのですが、煩雑なので時間に余裕のある方、お願いします。 使用OSはRED HAT LINUXです。 本に載っていたCのハフマン符号化プログラムをviで丸移しし、コンパイルしました。"プログラム名 圧縮対象データ名 圧縮後データ名"という形で実行するのですが、「セグメンテーション違反」と出てしまいます。使ったのは8kB程度のjpg画像でした。 原因をお教え願います。
- 締切済み
- C・C++・C#
- セグメンテーション違反とmalloc
char *name この宣言でプログラムの組初めはこれでいけたのですが char *name = (char *)malloc(sizeof(char) * 10); 後からこのようにmallocで動的メモリ確保しないとセグメンテーション違反が起きるようになりました。 なぜこうなるのでしょうか? それとmallocの使うタイミング(どういう時)に使えばよいのでしょうか?
- ベストアンサー
- C・C++・C#
- セグメンテーション違反
約数を表示したいのですが、以下でセグメンテーション違反が発生してしまいます。解説お願いします。 #include<stdio.h> main() { int n, i; scanf("%d",n); for(i=1;i<=n-1;i++){ if(n&i==0){ printf("%d",i); } } }
- ベストアンサー
- C・C++・C#
- c++でセグメンテーション違反
c++言語を勉強しているものです。 配列を関数の引数として扱うプログラムを作ろうとしているのですが、 コンパイルが通ったかと思えば実行すると 「セグメンテーション違反です」 と表示されて異常終了してしまいます。 原因がさっぱりわかりません。 OSはLinux(RED HAT ENTERPRISE LINUX 5)、コンパイラはg++(バージョン 4.1.2)です。 これがソースコードです。 #include <iostream> using namespace std; #define BUFSIZE 1024 #define MSG "msg" void test(char buf[]) { //bzero(buf,BUFSIZE); LEGACY memset(&buf, 0, BUFSIZE); sprintf(buf, "%s\n", MSG); cout << buf; cout << "(Terminated)" << endl; return; } int main() { char buf[BUFSIZE]; test(buf); return 0; }
- ベストアンサー
- C・C++・C#
お礼
すみません^^; プログラムを載せようとしたんですが、長くて字数オーバーしてしまいました。 問題は解決されました。 今度なにかあった場合はちゃんとプログラムを載せようと思っています。 ご回答ありがとうございましたm(_ _)m