最近0bjective-Cの勉強を始めた超初心者です。Cについても入門書をサラッと読み通した程度の理解力です。

解説本に載っていたソースコードをXcodeで「ビルドして実行」したら、「ZeroLink: unknown symbol '_objc_getClass'
Volume はシグナル 6(SIGABRT)により終了しました。」と表示されました。

シグナル 6(SIGABRT)とは、何を意味するのでしょうか?

宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Objective-Cについては素人ですが...



> シグナル 6(SIGABRT)とは、何を意味するのでしょうか?

SIGABRTというのは、シグナルの一種で、通常abort関数を呼び出した場合にraise(SIGABRT)の実行によって発生します。
要するに、何か不正な処理を行ったか、処理すべきエラー等を処理しなかったために異常終了したということです。
    • good
    • 0
この回答へのお礼

解説していただき有り難うございます。
ソースコードを見直してみます。

お礼日時:2008/02/14 18:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q音楽(MIDI)は流れるのに効果音(WAVE)が流れない

2197-49Lを使っていて、WinXPSP2に変えたらようやく音楽(MIDI)はきけるようになったのですが、効果音(WAVE)が聞けなくなりました。一応、WAVEを再生するドライバはSIS 7018 Wave (2k版)にしてあるのですが、WAVEが流れません。
MIDIは、Microsoft GS ...(省略)で、MIDIは流れます。

どうすればいいでしょうか。

Aベストアンサー

ボリュームの調整はしていますか?
スピーカーのアイコンをダブルクリックしてください。
MIDIとWAVEは別々の設定になっています。
WAVEがミュートもしくは音量が低くなっていませんかね?

QC言語を勉強し始めた初心者です

C言語を勉強し始めて、そろそろ1週間ぐらいになります。勉強は「独習C」という本と、ネットを参考にしながら進めています。

そこで質問なのですが、
getchar()やscanf()などの部分を見ると

「ラインバッファ」が使用されている

という記述
があるのですが、概念がよくわかりません。
ググってみたりもしたのですが、いまいち
私自身が納得できる回答が得られないでいます。
よろしければ、初心者にわかるように
説明していただければと思います。
よろしくお願いします。

Aベストアンサー

コンピュータの世界で「ラインバッファ」と言ったら2種類あります。
ひとつは画面へ表示する情報を1ライン(走査線)ごとに蓄積して表示する方式のハードウェアで、1ライン分の情報を保持するメモリーの事を指します。
もう一つが今回質問されているもので、文字の入出力を1行単位で溜めておくメモリ上の領域のことを言います。
話に出るのは入力が多いですが、出力の時にも使うことがあります。
ラインというのは、「行」と言う意味です。
1行ごとに溜めるので、「ライン」バッファーです。

ひとまずはこれでいかがでしょう。

Qwhat does "bold plants" mean?

What kinds of plants do you call "bold plants"?

bold plants ってどんな植物のことですか?知っているかたがいたら教えてください。

Aベストアンサー

Bold plants"というタイトルの写真集が売られているようです。以下はネット上の本屋のページに書いてあったものです。

http://209.85.175.104/search?q=cache:2arc2Akd_MgJ:www.netstoreusa.com/hrbooks/184/1841720445.shtml+%22what+are+bold+plants%22&hl=ja&ct=clnk&cd=2&gl=jp

What are bold plants? The quallity that defines them is the dramatic contribution they make to the structure of a garden. Bold plants leap out from among the rest by virtue of being exotic in origin or by having a strong architectural form and shape.

「bold plantsとは何でしょうか。bold plantsを明確に特徴づける特質とは、それらが庭の構成に劇的なまでに貢献するということです。bold plantsはその植物の起源が異国のものであること、また、力強い構造の姿、形を有することにより他の植物よりも人の目を引く植物である。」 と訳してみました。

同じ本がamazonでも売ってます。

http://www.amazon.co.jp/Bold-Plants-Noel-Kingsbury/dp/1841720445

グーグルでイメージ検索してみましたが、写真を見れば大体どんな感じの植物のことかわかるかもしれません。
http://images.google.co.jp/images?svnum=10&um=1&hl=ja&lr=lang_ja&q=%22bold+plant%22

Bold plants"というタイトルの写真集が売られているようです。以下はネット上の本屋のページに書いてあったものです。

http://209.85.175.104/search?q=cache:2arc2Akd_MgJ:www.netstoreusa.com/hrbooks/184/1841720445.shtml+%22what+are+bold+plants%22&hl=ja&ct=clnk&cd=2&gl=jp

What are bold plants? The quallity that defines them is the dramatic contribution they make to the structure of a garden. Bold plants leap out from among the rest by virtue of being exotic in origin or by havi...続きを読む

QC++を勉強し始めたばかりの初心者なのですが、クラスの継承に関して・・・

Visual C++ 2008で、新しいwindowsフォームアプリケーションを作成したら、Form1.hの上の方に

public ref class Form1 : public System::Windows::Forms::Form

という行がありました。これは開発環境に実装されている
System::Windows::Forms::Formクラスを継承し、Form1クラスを新たに作成しますという意味なのですよね?

このとき、2つ目のpublicは、継承の仕方、この場合結果的にはSystem::Windows::Forms::Formクラスに含まれるメンバの、private以外がそのまま受け継がれる、という事になりますよね?

それで、このref classというのは、ポインタみたいな意味でしょうか?refは書かないと別の継承方法になるのでしょうか?
また、最初のpublicはどういう意味なのでしょう?

もしかして、この2つについては、System::Windows::Forms::Formクラスを継承して新規フォームを作る場合の、定型みたいなものなのでしょうか?

Visual C++ 2008で、新しいwindowsフォームアプリケーションを作成したら、Form1.hの上の方に

public ref class Form1 : public System::Windows::Forms::Form

という行がありました。これは開発環境に実装されている
System::Windows::Forms::Formクラスを継承し、Form1クラスを新たに作成しますという意味なのですよね?

このとき、2つ目のpublicは、継承の仕方、この場合結果的にはSystem::Windows::Forms::Formクラスに含まれるメンバの、private以外がそのまま受け継がれる、という事になりますよ...続きを読む

Aベストアンサー

最初のpublicはこのプロジェクトにForm1クラスを公開するのに必要です
refは一般的なC++の構文にはありません
これは C++/CLIという特殊な環境で使う構文です
C++/CLIでは オブジェクトをポインタ扱いで使いますのでForm1クラスの実体をオブジェクトのを ^記号付で表します

Form1^ obj;
などといった宣言をします

一般的なC++のクラス宣言なら

public class Form1 : pulic System::Windows::Forms::Form
といった具合に記述します
Form1のオブジェクトを宣言する場合
Form1 obj, *pObj;
といった具合になります objは実体、pObjはポインタ といった具合です

Qtree planting って何でしょうか?

以前、日本に住んでいた(3年ほど)友人(隣に住んでいたアメリカ人)から、昨日、メールが届きました。

タイトルに
(友人の名前) has reserved a special tree planting for you!
Would you like to plant your tree now?

と書かれてあって、

その下に
When you plant (友人) has reserved for you, a real tree will be planted on your behalf through the non-profit group Trees for the Future

Trees for the Future has planted over 50 million trees since 1988!

とありました。
私も主人も英語はあまり知らないので
英語に詳しい方教えてください。


Yes, plant this tree! という文字をクリックして
いいのでしょうか?

Aベストアンサー

#2,3ですが、私の言わんとすることが伝わっていなかったようですのでもう一度書かせていただきます。
私が思うに、今回の件ではおそらくお友達も被害者なわけですよね。
質問者さんも今回クリックしていたら、質問者さんのアドレスブックに入っている人のところにメールが行っていたわけですし、もしかしたらお友達はクリックすらしていなくて、別の人のアドレスブックにお友達のアドレスが入っていて、そこから芋づる式にあちこちにパッと広まったのかもしれません。

とにかく、これは無視するに限ると思います。#4の方のお礼欄でお書きになってるような「断りのメールを入れる」ということなどは一切しない方がいいのでは。そうすれば今度は決定的に質問者さんのアドレスが向こうに登録されてしまうことになるのかもしれませんから、いいことは何もないように思います。

もし何でしたら、こちらでの質問を締め切ってカテゴリを「デジタルライフ」の「E-Mail」などにして、再度質問を立ててみてはいかがでしょう。
英語の問題よりも、まずはそっち方面から入った方がいい回答を得られるはずです。

#2,3ですが、私の言わんとすることが伝わっていなかったようですのでもう一度書かせていただきます。
私が思うに、今回の件ではおそらくお友達も被害者なわけですよね。
質問者さんも今回クリックしていたら、質問者さんのアドレスブックに入っている人のところにメールが行っていたわけですし、もしかしたらお友達はクリックすらしていなくて、別の人のアドレスブックにお友達のアドレスが入っていて、そこから芋づる式にあちこちにパッと広まったのかもしれません。

とにかく、これは無視するに限ると...続きを読む

Q最近c言語を勉強し始めたのですが解決できない問題が出来たので質問です。

最近c言語を勉強し始めたのですが解決できない問題が出来たので質問です。 入力された整数nに対して Σ{i=0→n} 1/i! を計算するプログラムなんですがわかる方がいたらよろしくお願いします。

Aベストアンサー

プログラムというより、どちらかというと数学の問題ですね。

Σ{i=0→n} 1/i! の値はよく知られているように、nが無限大の時にネイピア数(自然対数の底)eになります。

nがある値以上の場合には有効桁数が溢れて演算が無効になりますからその時はeを返せばよいということです。
有効桁数が溢れて演算が無効になるnをn_MAXとおくと、

#include <math.h>

if (n > n_MAX) return(M_E);

となります。M_Eはコンパイラが提供するネイピア数です。n_MAXは処理系固定なので予めプリプロセッサで計算しておくか、定義しておきます。

つぎに計算量を小さくする工夫が必要です。上記のようにn_MAXを求めておいた場合には
nがn_MAXに近い場合には減算した方が速いので処理を分離します。

// n_MAX!は予め計算しておくこと
#define fact_MAX = 1.0/(double)(n_MAX!);

if (n > (n_MAX - n)) {
double s, fact;
int i;

// s = Σ{i=n+1 → n_MAX} 1/i! の計算
s = fact = fact_Max;
for (n += 1, i = n_MAX; i > n ; i--) {
fact *= (double)i;
s += fact;
}
return(M_E - s);
}

以下は他の回答者の方を参考にしてみてください。

プログラムというより、どちらかというと数学の問題ですね。

Σ{i=0→n} 1/i! の値はよく知られているように、nが無限大の時にネイピア数(自然対数の底)eになります。

nがある値以上の場合には有効桁数が溢れて演算が無効になりますからその時はeを返せばよいということです。
有効桁数が溢れて演算が無効になるnをn_MAXとおくと、

#include <math.h>

if (n > n_MAX) return(M_E);

となります。M_Eはコンパイラが提供するネイピア数です。n_MAXは処理系固定なので予めプリプロセッサで計算しておくか、定義...続きを読む

Qfactoryとplantの違い

factoryとplantの違いってありますか?

同じように感じますが。。。

Aベストアンサー

イメージ的にはfactoryの大きなものがplantと考えていいと思います。
工業地帯にあるような設備や工場です。またその工業地帯自体のことをplantと呼ぶ事もあります。
町工場などはfactoryですが、plantとは言いません。
また、発電所などはかなり大規模な設備などがありますので、power plantですよね。

Q2 ~ 200 の素数 a, b, c (a < b < c) が、b - a = c - b を満たすa,b,cをビット操作を用いて求め、すべてを表示せよ

ちょっと考えてみました。でも、分かりません・・・まず、int型のintvalに200bitを割り当てて、intval=0としたいのですが、どうしたらいいのでしょう??
とりあえず考えてみたプログラムを誰か見て下さい!!お願いします。
#define BYTESIZE 200
#define MAX 200
main()
{
int i,j,intval=0;
for(i=2;i<=MAX/2;i++)
{
if(intval&(1<<(i-1)){}
else for(j=i*2;j<=MAX;j+=i)intval|=(1<<(j-1));
}/*素数を0、それ以外を1に
for(i=2;i<=MAX/2;i++)
for(j=2;j<=(MAX-i)/2;j++)
if((intval&(1<<(i-1))&&(intval&(i+j-1))&&(intval&(1<<(i+2*j-1)))) print("%3d %3d %3d (%3d)\n",i,i+j,i+2*j,j);
}/*三つ子の素数を調べ出力

ちょっと考えてみました。でも、分かりません・・・まず、int型のintvalに200bitを割り当てて、intval=0としたいのですが、どうしたらいいのでしょう??
とりあえず考えてみたプログラムを誰か見て下さい!!お願いします。
#define BYTESIZE 200
#define MAX 200
main()
{
int i,j,intval=0;
for(i=2;i<=MAX/2;i++)
{
if(intval&(1<<(i-1)){}
else for(j=i*2;j<=MAX;j+=i)intval|=(1<<(j-1));
}/*素数を0、それ以外を1に
for(i=2;i<=MAX/2;i++)
for(j=2;j<=(MAX-i)/2;j++)
if((intval&...続きを読む

Aベストアンサー

まずint型は200ビットもありません。通常は32ビットです。
200ビット使いたければint型を7個用意する必要があります。
つまり
int intval[7];
宣言して、
intval[0] 0~31ビット
intval[1] 32~63ビット
intval[2] 64~95ビット
.
.
.
intval[6] 182~200ビット
として使います。

第iビットの情報を取り出すときは
(intval[i>>5]>>(i&31))&1

第iビットを1にするときは
intval[i>>5]|=1<<(i&31);

とすれば良いでしょう。
関数やマクロを用意することをお勧めします。
例えば
int get(int intval[],int i)
{
return (intval[i>>5]>>(i&31))&1;/*0か1が返って来る。*/
}

void on(int intval[],int i)
{
intval[i>>5]|=1<<(i&31);
}

という感じです。

まずint型は200ビットもありません。通常は32ビットです。
200ビット使いたければint型を7個用意する必要があります。
つまり
int intval[7];
宣言して、
intval[0] 0~31ビット
intval[1] 32~63ビット
intval[2] 64~95ビット
.
.
.
intval[6] 182~200ビット
として使います。

第iビットの情報を取り出すときは
(intval[i>>5]>>(i&31))&1

...続きを読む

Qto plant the rice 解釈について

the needs of the village were more important than the needs of the individual, as all labored together to plant the rice and harvest the crop.

toは結果の不定詞と解釈すべきでしょうか?

as all labored together みんなが苦労して協力して
to その結果
plant the rice and harvest the crop

とすべきでしょうか?

Aベストアンサー

日本語に訳す時、貴方のように『みんなが苦労して米を植えた』とすると日本語らしくなり結果を表しているようにも思えますが、この場合の本来の意味は『米を植えるため苦労した』で目的を表していると解釈したほうがいいと思います。

一般的に言うと、意図的ではない行動を表す動詞の後の不定詞が結果を表します。例えば、次の文は『90歳になるために生きた』のではなく『生きて、その結果90歳になった』訳です。

He lived to be 90.

ただし不定詞は会話中では特別目的、結果を意識して使っている訳ではありません。どちらにせよ大きく意味は違いません。

QWindows上で、シグナル(SIGTERM )を送信したい(C、C++)

Linux上で、シグナル送信(SIGTERM をシェルで送信)し、プログラムでシグナル受信ハンドラを用意し作成してましたが、Windowsに変更になりました。
その場合、バッチファイルかプログラムでシグナル(SIGTERM)を送信することは可能でしょうか。
それか、シグナルの代わりになる処理などはありますでしょうか。

Aベストアンサー

>SIGTERMは指定できるのですが、プロセスIDを指定できない様です。
>何か他に方法はありますでしょうか。
これは失礼しました。
シグナルの代わりになる正当な方法が無いのかも?

自分ならばオリジナル修正を少なくするよう、
・適当なスレッドを起こし、
・そこで適当な待機オブジェクトを待ったり、メッセージ受信する(適当なプロセス間通信)
等を考えます。

後は、そのスレッドから raise 関数が正しく動くかどうか…


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報