Objective-C
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGなんですか?
プロトコルはjavaのinterfaceってことで納得したんですけど、
カテゴリはjavaのinner classに相当するって言われてもイマイチ
ピンとこないんです。
0004デフォルトの名無しさん
NGNGWindowsでいう所のどういうものなのですか?
O-C
って、言語的にどのような物と近いのですか?
おしえてクレクレ君です。ヨロツク
0005Cocoaマンセー
NGNG0006デフォルトの名無しさん
NGNG良さそうですね。
MAC OS-Xがちょっと欲しくなりました。
0007デフォルトの名無しさん
NGNG随分昔に見たときには「ほぉこんなものも対応してるのか」って思ったけど、今は?
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG煽り?
0010デフォルトの名無しさん
NGNGWindows用のObjective-Cの開発環境を訊いてるんだろ?
0011デフォルトの名無しさん
NGNG>>4
>ProjectBuilderって
>Windowsでいう所のどういうものなのですか?
少なくともDelよりは少し(以上)は賢いような気がする。
DelってMVCとか(のサポートが)が弱いから…。
あとMだのVだのの部品の間を線でピっと「繋ぐ」ことが
できるそうなので、それも(そういうのが無いDelより)
美味しいと思われ。
>O-C
>って、言語的にどのような物と近いのですか?
OOPの動的度で言えば
C++ << Java < Del << O-C << Ruby
ってとこか。
Class(というかInterfaceってのか?)の定義は
コンパイル時にがっちりやるみたいだけど、
それを変数の型に反映させないみたいだね。
変数について言えば型なし言語…かな。
0012デフォルトの名無しさん
NGNG親言語のsmalltalkより少ない。
0013デフォルトの名無しさん
NGNGでもできればC++を殲滅させるほどの地位を占めてもらいたい(ワラ
0014デフォルトの名無しさん
NGNGgnu-objective-cやトランスレーターぐらい?
0015デフォルトの名無しさん
NGNGJavaとDelあたりの順位がDelドキュとしての所以か、、、
0016デフォルトの名無しさん
NGNG遺憾の意を表明
0017デフォルトの名無しさん
NGNGほんとか?
おれもDelドキュだけど。
CoCoaヤハ-゚リのページみてるんだよね。
見た目にだまされちゃいかんぞ。
JAVAStudioっていう線でピピッな
ヨゴレSun純正ツールもあるでよ。(滅びたけど。)
ProjectBuilderは
GUIでインスタンスを作れるとかきいたけど
TCompornentレベルの事ではないかな?
ちなみにOOP度で
MVCなどにこだわらなくてよしだと思われ。
言語としてどれに近いというのは余り興味なし。
開発ツールとしてどれに近いのかな?
0018デフォルトの名無しさん
NGNG>MVCなどにこだわらなくてよしだと思われ。
下手な文になっちまった。
OOP度を測る時にMVC度などにこだわらなくてヨシ
って事を書きたかったのです。
あんなもん、自然に身につく
知識がCマガだから、よっているのか。
エピステーメ氏辺りの影響かな。
OOP度は、Del<<JAVAだとは思う
でも、
実際実用にならないからJAVA要んない。
破棄を全部GCに任せる仕様は絶対おかしいって。
001911
NGNG>OOP度は、Del<<JAVAだとは思う
違う違う。おらが言ったのはOOPの動的度だ。
メタクラスあるか?とか、クラスを実行時に作れるか?とか、
作れないにしても…云々…って奴。
メタクラスもどき(超サブセット)があるDelと
ぎりぎりで無いJavaとでは、ちょびっとだけDelが動的。
0020デフォルトの名無しさん
NGNG>JAVAStudioっていう線でピピッな
>ヨゴレSun純正ツールもあるでよ。(滅びたけど。)
DelのIDEとPBを比べたら、という話っすぅ。
>ProjectBuilderは
>GUIでインスタンスを作れるとかきいたけど
>TCompornentレベルの事ではないかな?
俺もその線だと思う。
ほかにやりようが無いような気がする。原理的に。
>>18
>OOP度を測る時にMVC度などにこだわらなくてヨシ
違う違う。MVCをサポートしたPBつー話。
言語(のOOP度やOOP動的度)の話じゃなくて。
まーDelでもコンポやなんか自作してそれっぽいものを作ることは
可能だろうけど、デフォ状態についてとりあえずの話。
前半と後半は結構別のことを言ってるんよ>>11は。
まぎらーしくてすまん。
0021デフォルトの名無しさん
NGNG次レスから950までの発言には、
「Objective-C」という単語を必ず入れること!
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGC++では本質的なところ以外に気を取られるのがうっとうしい。
0024デフォルトの名無しさん
NGNG名前ナガイ。ゴロ悪い。知名度ナシ。
何か反論は?
0025デフォルトの名無しさん
NGNGやっぱクラスライブラリは巨大なの?
0026デフォルトの名無しさん
NGNGObjective-C
略すとO-C?
カコ悪い
0027デフォルトの名無しさん
NGNGあ、Objective-C
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGNeXT は大半が Objective-C でかかれていたが、
大半が C++ でかかれた OS は未だ存在しない。
Objective-C は「オブジェクト指向言語」だが、C++ はそうではない。
ビル・ゲイツは当初、NT のグラフィック部分を C++ で書かせたかったが、
グラフィック部分担当チームは開発できなかった。
何か反論は?
0030デフォルトの名無しさん
NGNGカッコつけはLISPに逝ってね<w
Objective-C
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGObjective-C
0033デフォルトの名無しさん
NGNGああNeXTはObjective-Cだったのか。さすがだ。
0034デフォルトの名無しさん
NGNG頭にNSがつくよね、NextStepザンス
0035デフォルトの名無しさん
NGNGBeOSはC++じゃないの?
0036デフォルトの名無しさん
NGNGなんかネーミングセンスが・・・>Objective-C
c-plusplusもゴロ悪いけど>24
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGそういう「こんなに使われてるよ」って土俵に持ち込むと、
負けるのは ObjectiveCだよ..
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGまわりで使ってる人いないから、よーわからん。
マジで使い物になる?
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGふ〜ん。聞いたことないけど、そなの。
これでまた一歩、ひとに近づいた...。 :-)
確かに Objective-C はユーザ人口(?)では C++ とおそらく比較にならんからね。
0043デフォルトの名無しさん
NGNG(SmallTackは3冊ぐらい)
0044デフォルトの名無しさん
NGNG>ユーザ人口
MS Objective-C が出なかったのが悪いと思われ。
標準規格がなくてベンダーごとに仕様が違ったとかは枝葉末節だ。
0045デフォルトの名無しさん
NGNGOOPascalみたいね。あっちはDelphiのおかげで普及したけど。
名前カッコ悪いのは同意>Objective-C
0046デフォルトの名無しさん
NGNGdelphiはそれ以外のOOPascalとは別物なんで、
「おかげで普及」ってのとはちと違うと。
ObjectiveC
素直に名付けたらゴロが悪かったんね。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGやっぱ、Cを意識するのにひつようだったてことか。
なら、名前的にはC#でもよかったんだな。
0049ヴァカマカー
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGあるけどここでURL出していいんかな?
とりあえずCocoaはやっぱり!のリンクから辿って行けるはず。
英語が読めるならAppleやOmniのがおすすめっぽい。
0052Objective-Cは
NGNG0053デフォルトの名無しさん
NGNGC#もね。
0054デフォルトの名無しさん
NGNG大括弧おおかったっけ?
0055デフォルトの名無しさん
NGNG((((((lispはカッコウザイけど、メリハリが無いのが一因かと。)))))))
0056デフォルトの名無しさん
NGNG>大カッコってコレ?>[]
そう。
0057デフォルトの名無しさん
NGNG真にウザイのは何も考えずに書いたlispのカッコだらけのコードだと思うけど。
(コレはCのネスト構造同じ様に、減らす努力はできる。)
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGだったかな?
0060デフォルトの名無しさん
NGNG危険な用語を使うんでしたっけ?
クラス変数なんて呼び方じゃ、まるでインスタンス変数とは別物みたい
なんだけど、なんかC++方面ってインスタンス(ないしはオブジェクト)
とクラスとの用語をごっちゃにするのが一般化してるよね。困る。
[インスタンス メッセージ名]
でしたっけ?>O-C
だから、C++なら
hoge.do1().do2().do3() と書くところを、O-Cは
[[[hoge do1] do2] do3] と書く…んだったよな…
まぁやや多いとは思うけど、泣くほど多くはないし、
カッコで囲うってことはエディタのカッコ対応チェック機能
(viの%コマンドとか)で範囲を調べるのが楽ってことだし。
0061デフォルトの名無しさん
NGNG紛れこませたかったので、メッセージ送信構文を[]で囲って
"環境"を切り離したかったものと思われ。
Smalltalkの構文だと空白だの":"だのを使ってて
Cとはあまりに親和性無さ過ぎなので、
切り離したかった気持ちはわかる気がする。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG>[[[hoge do1] do2] do3]
引数がいるときは
hoge.do1(arg1).do2(arg2).do3(arg3)
[[[hoge do:arg1] do2:arg2] do3:arg3]
()と[]の数は同じ。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGネストが深くなるのって即ち「問題」なんでしょうか?
悪い面はなんとなく直感的にわかる
(というか直感的に感じるソレそのものが欠点なわけだ)けど、
良い面もなにかあるような気がする。
0069デフォルトの名無しさん
NGNGネスト前提な言語(lispとか)はなにも考えないとどんどん深くなるよ。
一因は内部定義が書けるからだけど。
例えばこれ、見やすいと思う?
(当然これよりも長くて深くなるコードは沢山ある)
(define fib
(lambda (n)
((lambda (fib-iter)
(set! fib-iter
(lambda (a b c)
(if (= c 0)
b
(fib-iter
(+ a b)
a
(- c 1)))))
(fib-iter 1 0 n))
())))
007066です
NGNGhoge do:arg1 do2:arg2 do3:arg3
Objective-Cの[]ってただ付いてるだけだと思います。
[]をとるとSmalltalkと同じ。
0071デフォルトの名無しさん
NGNGBeOSって、c++でかかれているがために、コアの拡張において致命的な問題があって………
っていうのをどこかで読んだことがある。
詳しい情報しってる人URLきぼーん
Objecive-Cマンセー(´∀`)
0072デフォルトの名無しさん
NGNGBeOSは知らないけど、C++でOSを書いたってことは、
どっかAPIが変化したらOS全体をフルビルト
し直さないとならないってことだよね(藁
しかもLinuxみたいなオプソなら
我慢してでも一応ビルドできるけど
そうじゃないOSだとメーカーがビルドしてくれるのを
ひたすら待つことになる。
MFCのCRuntimeClassとかいう奴(MFCスレで見た)みたいに
動的Classを扱えるように拡張しているならば
回避できる可能性があるけど。
Objective-Cはメタクラスが有るんでしたよね。
こういう場合に強み発揮するだろうな。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG>>73は、コンポーネント間通信のオーバヘッドについて勉強すること。
007572
NGNG>>73
CORBAとかは後付けっしょ。C++に「出来ない」ことを
ラップしている。C++自体の能力が拡張されるわけじゃない。
>>74
仮想関数の仕掛けでは、既に存在していて、かつ存在が
(RTTIとか使って検索しなくても)判っている、
というメンバしか呼べないが?
未知のクラスをOSに「登録(というのかなあ)」できるようにして
それのメソッド一覧とかを動的に取得したい(OSに取得させたい)
と思わないかぃ?
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGメタクラスというよりRTTIだろうな。
それさえあれば極端な話、関数名の文字列を与えれば関数を起動できるんだぜ。
だから、ビルドなんか要らぬ。
0079デフォルトの名無しさん
NGNGCのargc/argvみたいにするんですか?
0080デフォルトの名無しさん
NGNGおれ、もしそういうことがしたいなら、文字列か数値リテラル
IDをもつ関数ポインタ(か、Commandパターンインターフェイス
実装クラス)でハッシュテーブルのSingletonクラス作っちまうが。
ローカル版簡易ネーミングサービスもどき。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG008378
NGNGいわゆるシリアライズでやっちゃえ。
そうすりゃ送り先でObjectに戻せるぞ。
で、シリアライズで寄越された奴が
未知のClassだったりしても大騒ぎせんで済むように
なってると吉だぞ。
未知の(OSがビルドされた時点では未知の)クラスでnewできるからね。
0084デフォルトの名無しさん
NGNG型情報も文字列で持って置くってことでしょうか。
"class point {
offset type size name
0 int 4 x
4 int 4 y
}"
とか。
別に可視でなくてもいいか・・
0085デフォルトの名無しさん
NGNGclone()とか発行すれば、「知らないクラスをnew」できる。
あとは、言語仕様とかいって、この動作を隠蔽すればいい、
と思うがどうか。
0086デフォルトの名無しさん
NGNG未知のクラス「で」newって書いたんだ。
未知のクラス「を」newじゃない。
いや、MetaClassにClass(というInstance(藁))を
newさせて新規Classを作ろう、という話なら
それでもいいんだけど。(なぜならその新規Classに
更にnewさせれば所謂普通のInstanceが得られるから)
>>85
まぁ乱暴にいえばそれ。
クラス「を」という言いまわしがが心配だが。
ちなみにdelは卑怯だから、そういう意味での「ClassObject」を
持っていない。Class参照変数型は有るが、参照の先に
なにがあるのかは(ユーザーからは)知ることあたわず。
つまりClassObject「を」newする場面は無い。
function GetClass(const ClassName: string): TPersistentClass;
なんてのはあるようだ>del
ClassObjectはシングルトンになってるんだろうな。
newも起動時かどっかで勝手に行われているのだろう。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGMacOS X プログラミング入門
Objective-C
萩原剛志
0089デフォルトの名無しさん
NGNG買う気は無かったのに、本屋逝って立ち読みしたら意外に良かったので
買ってしまったぞ。
zoneアゲ
0090デフォルトの名無しさん
NGNGMacは興味ねーけどObjective-Cの本欲しいんで買った。
0091名称未設定
NGNG新・Mac板の新・ProjectBuilderスレで紹介されていたので買ってしまいました。
現在、ババ抜きの部分を読んでる途中....
0092デフォルトの名無しさん
NGNG>Macは興味ねーけど
泣けるね。
MAC使って開発してる人って、この板の何パーセントぐらいだろう。
0093デフォルトの名無しさん
NGNGMacって、「見習いたい」面は多いとは思うんだが、
だからって自分でも買いたいか?というとそんなこたぁなくて、
なんというか読みたいけど立ち読みでいいやっていう感じ。
わざわざ単一実装であるハードとOSを
買いたいとは思わないな。
似たようなものを(別のもっとOPENなハードやOSの上に)
作ったり誰かに作ってもらったり(=立ち読み)はしたいと思うけど。
しかも、似たようなといっても「全体が」似てなきゃならんなんてことは
全然ないわけで、欲しい部分だけ似てりゃいい。
うざいと思う部分も多い(というか比べればそのほうが多い)し。
で、大昔、それを裁判のネタにしたわけよなAppleは。
そういやハードもちょっとOpenにしたあと急にCloseしたよな。
そういう姿勢、嫌い。
あの本にも書いてあるが、つまりはフツー(わら)の
Unixやwinの上で、gccをObjective-Cアリでmake
しなおしゃいいわけで。
変にMacまんせーな本じゃないんで安心して読めるよ。
0094デフォルトの名無しさん
NGNGでもそれなりに面白いよ>macでのプログラム
仮想メモリが無い(あってもインチキっぽい)換わりにResourceMgrがあったり
ToolBoxの設計の基本部分は本物の天才連中がしたわけだし
MacAppのフレームワークは凄いと思うし
PowerPlantは面白いし
今度はNeXTだって言うんだから、なかなか興味深いモンがあるよ
0095デフォルトの名無しさん
NGNG天才なのはQuickDrawの所だよね。昔のASCIIに詳しく乗ってた。
でもMacには標準出力も入力も無いんではっきり言って不満だった。
OSXはその点いいよね。まだOSとしてクソだけど。
0096デフォルトの名無しさん
NGNGunix流の標準入出力は糞だろう。
ただし、それ(の代替手段)すらないなら、もっと糞だが。
Javaみたいな世界(言語そのものはどうでもよく、環境の話)が
今後は流行って欲しいなあ。
0097デフォルトの名無しさん
NGNGCocoaってのはObjective-Cベースの「環境」だと思っていいわけ?
(単にUnixの上にObjecitveCアプリがぶらさがるだけじゃなくて、という意味)
いいのだとすると、そこにはJavaに匹敵するパワーが
少なくとも技術的には存在するはずだよね。
0098名称未設定
NGNG通りすがりのものですが、
多分それでいいと思います。
Cocoaの部分はほとんどがOPENSTEPの資産を使って作っていますし、
OSXの開発環境としてのJavaはおまけとして後から付け加えたものですから。
0099
NGNG0100デフォルトの名無しさん
NGNGあの本の後半はMacOS X の為だけのものじゃないの?
gccについて書いてあるところでも「この本のソースはほかの環境では
動かない」ってかいてあるし。
Win32+cygwinとかだと参考にならんでしょ。
Objective-Cは言語としては魅力的だけれど開発環境がとぼしくて
つかいものにならない。
あの本買うよりFreeの"Object-Oriented Programing and the Objective-C Language"
を読んで,gccで適当に趣味で使うのがいいんじゃない?
0101デフォルトの名無しさん
NGNG「そうか!こういうクラスの作り方もあったんだな」
という意味では、あれ参考になったよ。
AutoReleasePoolとかZoneとかも参考になった。
なんで今までこれが(自分の周囲に)無かったんだろう?って。
移植なんて大それたことをする気はないが、
幾つかのクラスは喜んでパクらせてもらおうかと。
あと、Mac世界について「安心」というと
もう1つ意味があるわけで…おっと(わら
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGやっぱ一つ一つソースレベルで手で変換してやらなくちゃだめなのかな〜
0108デフォルトの名無しさん
NGNGhttp://www.tech-arts.co.jp/macosx/macosx-dev-jp/htdocs/900/997.html
Objective-C++の実装が進んでるらしい。
0109107
NGNG見てみました、がリンク先が消えてました
一応使いたいライブラリのObjective-C版のラッパをどっかの誰かが
開発中らしいんでそっちに期待
0110デフォルトの名無しさん
01/08/28 17:29ID:iOvUzZpU昔、趣味でNeXTでプログラム組んでたけど、未だにApplicationBuilderより使いやすい
RAD環境を知らない・・・
200万以上したNeXTも今では押入にしまいっぱなし(笑)
0111デフォルトの名無しさん
NGNG0112111
NGNGだが、4500円は無駄にはせんぞ、絶対。
0113103
NGNG>111
お互い、がんばろうな。
0114111
NGNGおお、同志! つ〜か専門用語ばっかで訳わかんねえですわ。
「引数って何よ」って感じで。辞書に載ってねえよ!
0115デフォルトの名無しさん
NGNG>「引数って何よ」って感じで。辞書に載ってねえよ!
ノー!そこからかよ
まずCやるよろし
0116111
NGNGすんません、今、初心者向けのページで勉強中です。
え〜と、引数ってのを調べてみたんですけど、printf()とかの
カッコの中に書く情報が「引数」でいいんですよね?
スレと関係無いんでsageときます。
0118デフォルトの名無しさん
NGNGスレの流れが止まったぞ。おい。
age
0119デフォルトの名無しさん
NGNGなんかものすごく強力そうな気がするが。(藁
0120デフォルトの名無しさん
NGNGObject-CとObject-C++は具体的にどう違うの?
個人的に表記法はC++というかJavaというかそういう
文法が好きなのだが。
ちなみに>>119は何を言ってるのか不明。逝っていいかも。
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG日本語化やi18nが面倒でいやん、とNeXTSTEP時代に思っていたが、
MacOS Xは、Unicodeが基本でぎゃふん。
0123デフォルトの名無しさん
NGNGchar *str = "string"; がダウトなのか、どっち?
0124119
NGNGObjective-C = C + smalltalk
Objective-C++ = C++ + smalltalk
なんじゃないかな?
使ったことないからよくわかんないけどさ。
本当にそういう風にビルドできるのかも知らんよ。(藁
>>123
コンパイラの話じゃなくて、
API が Unicode ベースつーことでわ?
0125114
NGNGC勉強ページによくある"Hello!"とかいうのをObjective-Cで挑戦。
#import <Foundation/NSObject.h>
#import <stdio.h>
@interface Greeting:NSObject
-(void)greeting;
@end
@implementation Greeting
-(void)greeting{printf("Hello!\n");}
@end
int main(void)
{
[[[Greeting alloc]init]greeting];
return 0;
}
Terminalに「Hellow!」と出た時にはもう嬉しくって(w
「ここはこうした方がいい」とかあったら指摘してやって下さいな。
0126デフォルトの名無しさん
NGNGHello World!
じゃなきゃダメ。
0127デフォルトの名無しさん
NGNG>Terminalに「Hellow!」と出た時にはもう嬉しくって(w
Hello! とコーディングしたのに
Hellow! と表示されるってのは、重大な問題でわ?(ぷ
0128デフォルトの名無しさん
NGNGSTLのLISTにNSObjectを詰めてイテレータで回せるとか?
0129デフォルトの名無しさん
NGNGワラタ
0130デフォルトの名無しさん
NGNGなんか頭悪そうな言語だな
0131デフォルトの名無しさん
NGNGそれ嬉しいんでしょうか?#C++に慣れてるからという理由ならば置いといて。
ObjectiveCに有る(既に有るかどうかは知らぬが自作だって可能だろうし)コンテナクラスで
それをやれば済むことなのでは?
0132128
NGNGやっぱりそのくらいじゃ嬉しくないか。
C++のstringとNSStringを多重継承して、
両方のメソッドを呼び出せるってのはどう?
NSCPPString *str = [NSCPPString stringWithCString: "Hello"];
printf("%s", str->substr(0,[str length]) + " world!!");
0133レベルの低い114
NGNGオブジェクトって、どこに格納されてるんでしょうかね?
どこにも宣言してないし…宣言を省いたら自動的にid型でどこかに格納されてるのか、はて?
>>127
ぐっは…また恥を晒してしまった…逝ってきます。
0134デフォルトの名無しさん
NGNG(mallocと同じように)ヒープに確保されて、使われて、そして放置されているのかも。
0135デフォルトの名無しさん
NGNGunicharって型が出来ていて、(たぶんUCS-2); しかし凄い命名センス…流石apple.com)
NSStringってclassも増えてるな〜。(NeXTSTEPにはなかったと思う)
0136デフォルトの名無しさん
NGNGそのクラスが、ガベコレもどき、つまり
「後で自分を消してもらうためのObject」に自分を自動的に(つまりinitで)登録
するようなクラスならば、あとでそいつに開放してもらえるだろう。
そうでなければ、仕事が終われば永遠に迷走。所謂メモリリーク。
どうせプロセス終了で片付くからイイという意見も有るが。
0137レベルの低い114
NGNGなるほど、「どっか」に格納されて、そのまま放置されてるんですね。
こりゃ危険だ…。じゃあ、>>125のオブジェクトを生成する部分を、
id obj=0;
obj=[[Greeting alloc] init];
[obj greeting];
みたいにきちんと指定してやれば、大丈夫ですね。
…メモリ管理に関しては、今、その部分を読んで勉強してます。
0138デフォルトの名無しさん
NGNG0139レベルの低い114
NGNG/usr/bin/ld: Undefined symbols:
.objc_class_name_NSObject
_objc_msgSend
これって「NSObject」が不確定だってことですよね?!
OSXごと全部再インストールしたんですけど、なんかダメみたいです。
これってどうすればいいですか?
0140レベルの低い114
NGNG何のことはなく、コンパイルの時に
-framework Foundation
のオプションつけ忘れてただけでした…
Cの教本買ってきて読んでたもんですからすっかり忘れてました…
一晩悩んだ結果がコレか…
0141デフォルトの名無しさん
NGNG0142レベルの低い114
NGNGHello!
Bus error
とか出やがります。
(インターファース部で何も上書きせずに"NSAutoreleasePool"を宣言しないと
コンパイルエラー吐くし…)
試しにprintf("%d",[obj retainCount]);
とかやってみたんですけど、結果は同じでした("1"と表示されると思ったのですが…)。
もしかして「Bus error」って出るのは、リファレンスカウンタが0だからでしょうか?
0143デフォルトの名無しさん
NGNG>Bus error
ワラタ
0144デフォルトの名無しさん
NGNGid pool, obj;
pool = [NSAutoReleasePool alloc]init];
obj = [[[Greeging alloc]init]autorelease];
[obj greeting];
[pool release];
return 0;
}
0145デフォルトの名無しさん
NGNGobj = [Greeging alloc init autorelease];
と書けるはずなのに。
プリプロセッサだったころの手抜き仕様をそのままひきずってるところがイヤ。
いちいちカーソルを M-b で戻して [ を打ってまた M-f で進めて…。
0146デフォルトの名無しさん
NGNG頑張らないところがイイんじゃないの?
Lispと同じでさ。
素朴なことしかしてない簡素なコンパイラであるってのが。
C調ソースになれちまうと、どうもSmalltalkみたいな書き方は
感覚的に受けつけなくて、ねえ…
0147レベルの低い114
NGNG遅レスすんません、Cの勉強してたもんで…
何から何まですんませんね。でも、それだとなんかコンパイル通らないんですよ。
いろいろいじってやってみたところ、新規プロジェクトで「Foundation Tool」を
作った時にデフォルトで”NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];”
という文字列が出てきたんで、これを使ってみる事にしました。
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id obj;
obj = [[[Greeting alloc] init ] autorelease];
[obj greeting];
[pool release];
return 0;
}
mainの宣言の所で何やってるかまだわかんないし、NSAoutoreleacePool * poolってのが
何やってるかわかんないんですが、これでなんとかオブジェクトの解放に成功したみたいです。
いろいろ教えていただいて、ありがとうございました。
もっと勉強せねば…
0148デフォルトの名無しさん
NGNG例えばC++はいろんなところ、
Javaはいろんなところ、
じゃあ、O-Cは?
てな感じでイマイチそのところが分からなくて
手を付けようか迷ってる次第です。
0149デフォルトの名無しさん
NGNG144どす。出来の悪いソースを載っけてすまんです。お詫びにどうぞ。
ttp://www.fsinet.or.jp/~nito/CocoaClub/
ttp://www05.u-page.so-net.ne.jp/xd5/mkino/HMDT/
ttp://www.fsinet.or.jp/~nito/OSPT/index.html
ttp://www.midi.co.jp/objc0.html
ttp://www.stepwise.com/
ttp://www.oreillynet.com/mac/
ttp://www.omnigroup.com/community/mailinglists/
0150レベルの低い114
NGNGわ〜い! 知らない勉強ページがいっぱいだ〜!
ちょうどメモリ管理について言及してるページもありますね。
何から何まですんませんねぇホント…
>>148
荻原式(>>88の本)に書いてあったんですけど、どうやら
gccでも普通にコンパイルできるとか。でも、それだとCocoaの
Foundation kitとか使えないですよね。
あとは…OPENSTEP入れるとか?
0151デフォルトの名無しさん
NGNGいえ、そういう意味でなくて
実際に活用する場面はどこかなという意味だったのです。
Javaはどのマシンでも動くプログラムが書きたい時に使うとか
アプレットを作りたい時に使うとか...
O-CはマックX関連機能の開発にとどまるのならどうなのかと。
0152レベルの低い114
NGNG概念だけで文法とか全然覚えてないですけど。
>>151
あ〜なるほど、すんませんです。
そういう事でしたら、現状ではMacOS X関係オンリーになってしまうのでは
ないでしょうか(もちろんUNIXやLinuxのソフトの開発もアリでしょう)。
ただ、OPENSTEPの元であるOpenStepは(紛らわしい)、オープンソースらしいので、
もしかしたらWin環境に移植なんて事もあるかもしれません。
あと、>>149のリンク先のttp://www.midi.co.jp/objc0.htmlでは、なんか
cgiがどうのこうのってやってます。詳しい事は良くわかんないんですが。
…これは噂の域を出ないんですが、新Mac板で「AppleがAMDのCPUを採用する」なんて
話がありまして。もしこれが実現して「MacOS X for AMD」が出た暁には、もっと
広い範囲でのソフト開発ができるのではないでしょうか。
(結局MacOS X絡みなんですが…)
なんかえらそうな事ばっかり言ってすんませんです。
0153デフォルトの名無しさん
NGNGいえいえ、御丁寧にありがとうございますm(_ _)m
そうですか、やはりOSX関連ですか。
そうなるとやはりマイナーな モゴモゴ…・・・
使い道が限定 フガフガ…・・
でも逆に考えれば財宝が眠っているわけですね。
totoを買うよりも回収率がいいかもしれない....
0154デフォルトの名無しさん
NGNGttp://www.aist-nara.ac.jp/~masata-y/gyve/gyum/
0155デフォルトの名無しさん
NGNGObjective-C++が使えるらしい。
0156デフォルトの名無しさん
NGNGPB1.1、早く落とさせてくれないかなあ…
0157デフォルトの名無しさん
NGNGなんか名前からしてすごそうだけど、0-Cと何が違うの?
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNGhttp://developer.apple.com/techpubs/macosx/ReleaseNotes/Objective-C++.html
0161レベルの低い114
NGNGまた最初っから読み返してます。
しかし、>>144と>>147の違いって何なんでしょうね?
前者はid型で変数宣言してるのに対し、後者はNSAotureleasePoolの
インスタンスが入る事を明示しているだけなんですよね。
>>144のを見てから後でいろいろ変更を加えたりしてましたから、
もしかしたら原因は別の所にあるのかもしれません。
(Interfaceで-(id)greetingとしているメソッドを-(void)greetingと
していたり)
何にせよ、まだまだ勉強不足が否めませんね。
あ〜、2chブラウザとか作りて〜!
0162デフォルトの名無しさん
NGNGただ、id型ではなくどの型のオブジェクトが入るのか明示しておくことで、
そのオブジェクトが宣言していないメソッドを使っていたら、
コンパイルの段階で警告を出してくれるようになる。
>>161
実はCocoa製2chブラウザはもうあるのですよ(w
http://teri.2ch.net/test/read.cgi/mac/988273635/
オープンソースだし参考にしとけ。
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGたしか、Objective-Cではsetjump,longjumpのマクロだった気がするんだが、
Objective-C++だとthrow,catchのマクロになってるの?
0165デフォルトの名無しさん
NGNGhttp://homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html
↑ここ読みなはれ。
ちょっとややこしいことになっている。
0166デフォルトの名無しさん
NGNGGNU一般公有で、ソースも公開されています。
URL: http://users.pandora.be/stes/compiler.html
このコンパイラだと、C++ のコードを、
Objective-Cのコードと混在させることができます。
つまり、C++ のSTLをObjective-Cで使うこともできます。
しかし、自分は C++ が分からないので使っていません。
自分が使っているのは、UNIX用ですが、Windows用もあるようです。
このPOCのcakitのAPIで、お聞きしたいことがあるのですが、
このスレッドに、cakit に詳しい人はおられますか?
"Vectorのインスタンス同士の sameClass が false になる"
という現象が起き、途方にくれています。
よろしくお願いします。
0167デフォルトの名無しさん
NGNG#include <stdio.h>
#include <objpak.h>
#include <cakit.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
id vec2;
id cltn = [OrdCltn new];
[cltn add:[BigInt int:3]];
[cltn add:[BigInt int:4]];
vec2 = [Vector collection: cltn];
printf("%d %d %d %d\n",
1==1,
vec2->isa == [vec2 class],
[[vec2 scalarZero] isEqual: [vec2 scalarZero]],
[vec2 size]
);
[vec2 printOn:stdout];
[vec2 free];
return 0;
}
これの出力が
% a.out
1 1 0 0
{3,4,0,0}
になります。
0168デフォルトの名無しさん
NGNGすいません。
よく見たら、
- scalarZero:aScalarZero numScalars:(int)numScalars
{
return [self notImplemented:_cmd];
}
でした。
なんか、実装されてないみたいです。
POC を使っている人は、どうしているんですか?
0169デフォルトの名無しさん
NGNG久しぶりに悲しくなった。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGだれか、成功した人、いますか?
0172デフォルトの名無しさん
NGNG0173かじり中
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNGObjectiveC から始めた人が他の言語に移るときの僕の予想
ObjectiveC -> Squeak(SmallTalk)
: 文法が分かるだけに、GUI にイライラする。
ObjectiveC -> Java
: [] から () に変わるので違和感を感じる。
: 配列操作と簡単なファイル操作が楽だなぁと思う。
: APIマニュアルが嬉しいと思う。
ObjectiveC -> C
: malloc が面倒臭いと思う。
ObjectiveC -> C++
: 気が狂う。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGオブジェクト指向のメッセージ通信というのが、
Java では分かりにくいかもしれない。
ObjectiveC の文法を見て始めて
メッセージ通信というのが実感できた。
0178デフォルトの名無しさん
NGNGふむ。情報サンクスです。
まずはObjectiveCを修得するのが先ですが。ゎー
0179デフォルトの名無しさん
NGNGNSButton *gikoButton;
gikoButton = AUTORELEASE ([NSButton new]);
[gikoButton setTitle: @"Print Itteyoshi!"];
[gikoButton sizeToFit];
こんな感じでやってみたいんだけど。
0180デフォルトの名無しさん
NGNGGUI だけは、 GTK/GDK を使って誤魔化している。
全部 ObjectiveCでやりたいので、
Morphic導入を検討したが、インストールすらできなかった。
あと、噂で、gnome-objc らしきものがあるらしいのですが、
これで GUI を構築している人いますか?
検索しても、サイトへのリンクが切れているので、詳しい人お願いします。
0181Self
NGNGオブジェクト指向の GUI ライブラリで、多言語から使える物ってないのかな。
オブジェクト指向 GUI ライブラリ決定版! みたいな物が欲しい。
まだ出てないと思いますが、Objective-C 関連 FAQ.
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/answers.j
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/classes.j
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/sample.j
0182Self
NGNGGyve?
http://www.aist-nara.ac.jp/~masata-y/gyve/gyum/
obgtk?
http://www.interq.or.jp/earth/inachi/gtk/obgtk/intro.html
http://www.airlab.cs.ritsumei.ac.jp/~taka/GYVE/ML/archive.old/msg00081.html
どちらかというと Tk の見た目が好きです。
メニューがティアオフ出来るところとかも。
0183デフォルトの名無しさん
NGNGどうやら、探していたのはこの obgtk のようです。
サイトの ftp のリンクが切れて、ダウンロードできません。
名前が変わったのでしょうか?
公式サイトを見つけたいので、適切な検索語などありましたら、お教え下さい。
0184Self
NGNGobgtk は gnome-objc の中に入ってます。
gnome-objc を ftp してみて下さい。
gnome 無しで使えるのかどうかは分かりませんが。
gnome-objc
ftp://ftp.gnome.org/pub/GNOME/stable/sources/gnome-objc/
GToolKit はドキュメントやサンプルがそれなりに充実しています。
興味がありましたら試してみてください。
GToolKit
http://www.informatik.uni-osnabrueck.de/elmar/projects/gtoolkit/
ここもお勧めです。
Objective-C Links
http://www.foldr.org/~michaelw/objc.html
0185デフォルトの名無しさん
NGNG胸のつかえがとれたようなきがします。
さっそく試していますが、コンパイルをミスりまくりです。
(Solaris x86)
家に帰ってから Linux で試してみます。
0186YO
NGNG0187デフォルトの名無しさん
NGNG画像とかどこかにあれば、お教え下さい。
0188デフォルトの名無しさん
NGNGやめられん。
僕のコードを解析する人は、自動生成されたコードの方を解析している。
みんな、ごめんね。
0189デフォルトの名無しさん
NGNG0190名無しさん@XEmacs
NGNGもしかして CCodeGenerator 使ってる?
ぜひTipsをば教えて下さい!!
Squeakスレで。
0191デフォルトの名無しさん
NGNGSqueak ObjectiveC translator
ttp://swiki.gsug.org:8080/sqfixes/1251.html(なぜか今はつながらない)
配列が array[i] といった感じに展開されるので、
at: put: や value: といったように置き換える。
(この辺は Emacs や awk の機能でなんとか自動的に行う)
実装されていないメソッド(printf: や printf:f: など)
を実装する。
(これは、手作業。慣れてくるとテンプレートが使える)
これを繰り返すとなんとかコンパイルできる。
(時間がかかっても 5分くらいでコンパイルできるようになる。
それ以上、時間がかかるものは大概、自動変換は無理。)
ファイルの先頭に使うインクルードファイルを書き込む。
(使用するObjectiveC コンパイラ(gccやPOC)によって適当に。)
おそらく、UNIX だと、文字コード問題でコンパイルができないと思います。
それを解消するために、
「w3m や NC などでファイルを閲覧 -> バッファを保存」
という手順で文字コードを変換しています。
これを ObjectiveC でデバックする人は、たいへんだと思います。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGObjectiveC か VB かだったのだか、
VBに乗り換えざるをえなくなった。
0195デフォルトの名無しさん
NGNG>ObjectiveC か VB かだったのだか、
へんな選択肢だな。
0196自削自炎
NGNGしかしチームで開発する時に、保守しにくくなる可能性があるという
諸刃の剣。プロジェクトにはお勧めできない。
まぁ、>>194はこの意見も参考にしてくださいってこった。
0197_
NGNG見た目がカッコ良くない・・・
0198デフォルトの名無しさん
NGNGまず、部所でこれまで使っていたのがVB。
大学がつくってくれたプロトタイプがObjectiveC。
これを機に、MS依存から脱却できればと思ったのだが、派手に沈没した。
0199デフォルトの名無しさん
NGNG理解できる人がほとんどいなかった、に1,000,000ポイント
0200デフォルトの名無しさん
NGNG最近復活気味で活動が活発化しとるね。
良き事良き事。
0201デフォルトの名無しさん
NGNG0202名無し
NGNGObjective-C は使ったことないのですが, iterator 関係はどうなっているんでしょうか。
Ruby だと簡単だけど遅いので同じことを C++ で書こうとして発狂しそうになりました。
0203デフォルトの名無しさん
NGNGC++だと
1:rubyのような内部イテレータを実現しようと思っても、C++では
無名手続きブロックを記述できないので、書きやすさが全然改善されまい。
2:引数とかの書きかたが柔軟ではないので、これまた綺麗にならない。
ここらへんは、ObjectiveCだとC++よりは随分柔軟であるので、
だいぶ楽にやれるんじゃないかな。
以上、こっちも知らない人でした(わら
0204デフォルトの名無しさん
NGNGStepstone社はいずこへ?
0205デフォルトの名無しさん
NGNG心の中に。
0206デフォルトの名無しさん
NGNG父さんしたのか。
0207206
NGNG0208デフォルトの名無しさん
NGNGProjectBuilderもあるし、どんどん移行して
いきたい気分だが…
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGCocoaなら
NSEnumerator* enumerator = [array objectEnumerator]; //array is instance of NSArray
id obj;
while(obj = [enumerator nextObject] ) {
if( [obj respondsToSelector:@selector(hoge)] ) {
[obj hoge];
}
}
とか。
ifの中を
[obj conformsToProtocol:@protocol(theProtocol)]
とか
[obj isKindOfClass:[theClas class]]
とかにしてもいいし。
0211デフォルトの名無しさん
NGNG動くかな?
だれか教えて.
0212デフォルトの名無しさん
NGNGGNUSTEP って COCOA 互換環境を目指すとか逝ってたような
気がするけど、どうなってるんでしょうかね。
0213
NGNG0214デフォルトの名無しさん
NGNGObjective-C で GUI を作る時はどんなライブラリを使っていますか?
勿論、Cocoa 以外でね。
これって GNUstep 専用だよね?
http://www.gnustep.org/resources/documentation/gnustep-gui_toc.html
0215デフォルトの名無しさん
NGNGコンパイル出来なかったよ。Makefile 変じゃない?
どなたか Morphic インストール出来た人いらっしゃいませんか?
GToolKit は freshmeat の方は生きてるみたい。
でも、メインサイトの方がサンプルコードが充実していて良かったのに。
0216デフォルトの名無しさん
NGNG0217216
NGNG-(id)wrongThreadAgeSorry{printf("sumaso\n")};
@end
こんな感じで良い?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGgcc Developer Station 2000
http://popup.tok2.com/home/choro/gds2k/gds2k.htm
をがんばってObjective-C対応にするとか。
0220219
NGNGObjective-C環境は
おいらも欲しいです。
0221デフォルトの名無しさん
NGNG無いでしょうか。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGGUIアプリをこの言語で作ってみたいのですが。
0224223
NGNGいまいち見つからないのです。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG・GTKKit, GToolKit, GNOMEObj-C などの GUI ライブラリを使う
GToolKit は Win も OK だったと思う。日本語が通るかは微妙。
・GUI 部分は C で書く
あと、一応 GNUSTEP は Windows で動かない事もないみたい。
http://www.peanuts.org/GNUstep/information/faq_1.html#SEC5
バイナリの配布には向いてないと思うけど、GNUSTEP が一番面白そう。
0227デフォルトの名無しさん
NGNGありがとうございます。
http://www.sixnine.net/cygwin/cygwin-doc/mingw-doc/w32api.README.html
のMinGW関連の文書読んでたら、
COMとかいうものが使えないみたいです。
GUI 部分は C で書くっていう方法を取ろうかと
思います。Win32 APIとかも学ばねばいけないですね。
がんばります。
C-->Objective-Cへの移行はすんなり行ける
みたいなので、もうちょっとWindowsでも
流行ると良いのですが。
0228デフォルトの名無しさん
NGNG経験延べ3日ぐらい、Cの本を半分ぐらい読みました
入出力・数値の計算・制御文とか書いて実際動かしてみて
コードってこういう風に書くのか、とゆーのがおぼろげに分かった段階。
ポインタとか構造体は詳しくやってないです
で、Cをある程度覚えたらObjective-Cに移行しようと思ってたけど
どの程度までCをやればいいかわからんです・・
あるいはCを飛ばしていきなりO-Cはじめた方がいいのかと思いはじめている
目的はOSXでシーケンサーとかサンプラー(音楽アプリ)を自作することなんで
あの原始的な感じがどこまで今のGUIに直結してるのか不安になってきた。
べつに仕事で必要に迫られてやるわけじゃないんで
じっくりCから覚えていけばいいのかもしれないけど、
あんまり後で使わなそうな知識を詰め込みたくもない
(使えそうかどうかの判断すらできない)
この状態でO-C始めるのは無謀なのかなぁ
まぁ俺は挫折するかもわからんけど
直感的にObjecCいいと思うのでみなさまがんばってください
0229デフォルトの名無しさん
NGNGC の標準ライブラリ関数くらいは憶えておいた方が良いと思うけど。
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGそしたらCをやろうがObjective-Cをやろうが、何とかなるだろ。
自分の欲しいアプリを作れるって事は、プログラミング中毒者の特権だと
思ってもらいたい。
0232229
NGNG分かり難かったらスマソ。
行き詰まるって書いたのは、Objective-C でサポートしていない低レベルの
実装をいじりたかったり、パフォーマンス上のボトルネックが発生した時等、
技術的な面ね。そうなったら C を勉強すれば良い。
その辺りが C でも書ける Objective-C の柔軟な所だと思うよ。
まずプログラミングを楽しむべきというのには同意。
折角プログラミングを始めたんだから、その醍醐味を十分味わって欲しい。
その内自分にしっくりくる言語も分かってくるし、それが Objective-C だったら
良いね。
0233デフォルトの名無しさん
NGNGイークナイね。
0234デフォルトの名無しさん
NGNGオサン臭い話になるかも知れんが・・・
その昔、パソコンはあるけどソフトがない時代は、パソコンで遊ぶ方法って
言えばプログラミングだったなぁ。でも今はソフトが溢れてる。
だから、プログラミングの目的はプログラミングでなく、必然的にソフトを
作る事になるんだよなぁ。
目標を持つのは良い事のように見えるが、プログラミングは目標に向かって
一直線に進めないのが難しい所なんだよなぁ。
だからゲ製板は、いつまでもあの調子なんだよなぁ。
とか呟いてみる実験
0235デフォルトの名無しさん
NGNG>Objective-C でサポートしていない低レベルの
揚げ足とりでスマンが、これはフレームワークの話だな。
>>234
hello, world!
0236234
NGNG0237228
NGNGまだ知らない関数とかたくさんあるので
もうちょっと詳しい本やってみます。
そのあとOSX買いに逝てきます
反応して下さった方々ありがとうです。
とても参考になりました。
書いてみるもんだなぁ
0238デフォルトの名無しさん
NGNGそこらにあるようなデータ可視化ツールの類だ。
OpenGL でぐりぐり動いてくれた。使っていたのは POC だ。
実によくやってくれた。自分の知的好奇心は存分に満たされた。
あるとき、研究用の数値計算ツールのプロトタイプを作ることになった。
「たしか、POC には cakit という数値計算ライブラリがあったはず…。」
そう思い、
「簡単! 来週中に、コンソール版だけ動くよ。」
と、同僚や上司に公言していた。
しかし、動かない。何回自分のプログラムを見ても間違いに気づかない。
約束の期日から2日ほど過ぎてしまった。
しょうがないから、昔使っていた VB のツールを流用することになった。
泣いた。
VB が固まる度に自分が責められるようになった。
自分の地位は、地に落ちた。
あるとき、 cakit のソースを見ると下の文字が…。
[self notImplemented:_cmd];
ブチ切れた。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGLinuxで安心して使いたいなぁ。
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGってあるん?
0244デフォルトの名無しさん
NGNGそれホスィーな。
>>241
GNOMEってそういう路線だったの?
そのまま行ってくれれば使ったのに。
でも、KDEと違いどの言語でも開発できる
様にするためとかなんとか書いてあったのを
読んだ様な気がする。
0245デフォルトの名無しさん
NGNGUNIXは資源の再利用がされていないから駄目だ.
GNOMEはこれを解決する(そして,その方法はObjective-Cだ).
とかなんとか.
で,何かがあって,結局Cになったらしい.
NSObject使うには,Gnustep入れないといけないのかな?
Vinelinux2.5には入ってないのかな?
0246244
NGNG解説Thanks。
そっちの路線でいけば、
GNOMEでObjective-Cなドキュメントが増えて
ありがたかったのだが。
今は使えるけど、ドキュメントがほとんど無いみたいだしね。
0247デフォルトの名無しさん
NGNGgcc-2.9x当りからObjective-C++が使えるようになったってのは,どうなんだろう.
0248デフォルトの名無しさん
NGNGMultiByteString/WideCharacterにwrapping可能なstring classを
使ってくれるとは限らないからね。
MacOS XはUnicodeだからまだいいんだけど。
0249デフォルトの名無しさん
NGNG>>247
Objective-C++は制限いろいろ、とのこと。
以前、説明をするページがあったが、作者が間違えて消してまったらしい。
キャッシュ。
http://www.google.co.jp/search?q=cache:Cso_2H6Nd2QC:homepage.mac.com/mkino2/spec/objectiveC%2B%2B/objectiveC%2B%2B.html
0250デフォルトの名無しさん
NGNGとりあえず自分でC++を書く気は全然ないので,
ライブラリさえ使えれば問題ないです.
ただ,Linux上のgccでObjective-C++が使えるのかな…と.
gcc2.9xのパッチで出たとかなんとかで,
gcc3.1では使えるとのウワサだけ効いたんだけど…どうなんだ〜?!
という状態です.
いや,Vinelinuxのgcc2.95で使えないとちょっと困るんですが.
はい,自分で確かめてみます.
0251デフォルトの名無しさん
NGNGヘッダファイルの読み込の時点で怒られる.
aaa.m----
…
#include <string>
using namespace std;
…
…objective-c + C++なプログラム…
---------
gcc -c aaa.m
でも
g++ -c aaa.m
でも駄目.
もしかして,拡張子が.ccとかだったらいけるとか?!
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG> MacOS X以外ではいろんなドライバとかがC++で書かれていたりするから,
"Hello IOKit: Creating a Device Driver With Project Builder"より、
> ・Device drivers are (frequently) written in C++.
実際、例はC++で書かれていて、Objective-Cの'O'も出てきません。
正直、Objective-Cのmethod dispatcherをdriverで使うのは嫌ですよね。
0254251
NGNG試してみました.
が,普通のObjective-Cのソースでもコンパイルが引っ掛かる…
駄目っすね.
>> 253
そうなのか…
確かにドライバーで[ ]は使いたくないといえば,そうかも.
でも,C++はアリなのか〜?!
0255デフォルトの名無しさん
NGNG> でも,C++はアリなのか〜?!
C++は効率いいからね。
/System/Library/Frameworks/IOKit.framework/Versions/Current/Headers/scsi-commands/IOSCSIMultimediaCommandsDevice.h なんかもろC++。
0256IOKit
NGNG0257251
NGNGC++と変わらないくらい効率よくないのかな?
0258デフォルトの名無しさん
NGNG殆どSmalltalkなOO拡張は、静的な最適化がほぼ不可能。
かといって、Smalltalkのような動的最適化をかませる
方法が無いから、ものすごく遅い。C部分での最適化で
稼ぐしか無いけれど、それでは、C++に対する利点には
なり得ないよね。
C++は、最適化に命をかけたような仕様で、そのせいで
効率の悪くなっている部分があるのが皮肉だけれど、
それでもだいたい成功してる。比較にならんよ。
0259251
NGNGうーん,でもC++はいやだなぁ…(書き方が美しくないという理由だけ)
かといって,Javaで書けるほど上の部分でもないしなぁ…
でも,いずれ社会に出るとC++になるのかなぁ.
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGいませんでしょうか?
遅くてもいいんです,いずれマシンが早くなるから.
0265デフォルトの名無しさん
NGNGFSF GCC, but the GCC Steering Committee, whose charter includes
decisions about whether to include new languages in FSF GCC, has yet
to say whether or not they would accept it. The Steering Committee
and its members are described at gcc.gnu.org; if you want ObjC++ in
FSF GCC, please lobby them, either as a group or individually.
オーマイガッ!!
頼むよ,FSF.
0266デフォルトの名無しさん
NGNG勉強でもしょう。
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG0269名無しさん@ネタかよ
NGNGObjective-C++って何だ。
0270デフォルトの名無しさん
NGNGhttp://www.google.com/search?q=Objective-C%2B%2B&ie=Shift_JIS&hl=ja
0271デフォルトの名無しさん
NGNGNSLog(@"みんな新・Mac板じゃない?");
[NSNotificationCenter age];
0272デフォルトの名無しさん
NGNG[thread release];
0273デフォルトの名無しさん
NGNG0274このスレ見てるひと、どれくらい?
NGNG0275デフォルトの名無しさん
NGNG0276login:Penguin
NGNG0277デフォルトの名無しさん
NGNG0278通りすがりの者
NGNGちょっと残念だ。(´ー`)y-~
0279デフォルトの名無しさん
NGNG0280objective-c出来ないんだけどね
NGNGexample-1の下のa.outが実行できん。
Message backtrace:
WorldMorph: Does not implement this message.
アボートしました
だそうです。
0281デフォルトの名無しさん
NGNGリファレンスマニュアルっていうのは無しで、というかカテゴリ使ったら抜けてしまうからだめ。
0282デフォルトの名無しさん
NGNGCocoaでやってるんならNSObjectのメソッドである
respondsToSelector: で調べられますけど。
0284281
NGNGおー、ありがとうございます。
NSObjectクラスのメソッドではなく、NSObjectプロトコルのメソッドですね。
見つけられなかった...
0285デフォルトの名無しさん
NGNG便乗。
セレクタの一覧を得るメソッドってあります?
0286282
NGNGここらあたりが参考になるんでは?
http://homepage.mac.com/mkino2/cocoaProg/ObjC/Method/Method.html#accessMethodList
つーか、漏れも目下Cocoa修行中の身であんまりわかってなかったり
するんで、突っ込んだ質問はカンベン。ま、お互いがんばりましょうってことで。
0287285
NGNGおお、素晴らしい!
こんなサイトがあったとは!!
ありがとうございます。
0288デフォルトの名無しさん
NGNGObjective-Cっではクラスのインスタンス変数が0で初期化
されてるんでしたっけ?
つまり id なら何も触っていなければ nil と考えていいんでしょうか?
0289デフォルトの名無しさん
NGNG0290288
NGNGとあるサンプルで id 型のインスタンス変数を
if ( ! hoge ) {
hoge = [[hogeClass alloc] init];
...
}
みたいなことをやってたのでちょっと気になったのです。
0291デフォルトの名無しさん
NGNGstatic inline ってどういう意味?
0292デフォルトの名無しさん
NGNG「白線の内側で静かにお待ち下さい」
0293デフォルトの名無しさん
NGNG俺は今、「オブジェクト指向のプログラミング」(B.J.コックス)
を読んでモーレツに感動しているぞ!
0294デフォルトの名無しさん
NGNGint main(void)
{
id hoge;
if(hoge != nil)
printf("(・∀・)\n");
return 0;
}
>>290のhogeはif文の以前でどっかから代入されてしかるべき変数なんじゃなかろうか。
0295デフォルトの名無しさん
NGNGmain の中で id hoge とやったってそりゃ単なるポインタ型のローカル
変数なんだから nil なわきゃねえって。問題は hoge がインスタンス
変数の場合だろ。なんかで読んだけど、インスタンスが生成される時は
確保したメモリを 0 で初期化するとあったぞ。だから、インスタンス
変数に id 型があった場合、それは nil だと仮定してもいいはずだぞ。
なんか気持ち悪いが。
0296294
NGNG@implementation Hoge
-(id)init
{
[super init];
if(hoge == nil) {
NSLog(@"(・∀・)");
}
return self;
}
ほんとだ〜。マリガト。
0297デフォルトの名無しさん
NGNGどうやって手に入れたの?
もう絶版で、出版社もなくなってるでしょ?
手に入れる方法があるなら、漏れも欲しい。
0298293
NGNGこれがなんと、Yahoo!オークションに出品されてたんだなー。
ついに最後まで入札相手が現れず、800円で落札した。
オークションはたまにこういうのがあるからあなどれないよね。
地道に網を張ってればそのうち引っ掛かるよ。
0299デフォルトの名無しさん
NGNG読むだけなら図書館で。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG田舎なもんで、置いてあるような図書館が近くにないのでした。
0302_
NGNGメソッド検索のアルゴリズムが載ってたんですけど
これ毎回やってたら重くないですか?
macとかで実際にアプリ作ってる方がいれば聞きたいのですけど。
最近のPCだったら気にしなくていいのかな?
0303デフォルトの名無しさん
NGNG毎回検索してたら、遅いでしょ。
普通キャッシュするでしょ。
0304デフォルトの名無しさん
NGNGそうですね。色々内部で高速化されてると思うんですが
実際どうなのか知りたくって。
変わらないならC++より柔軟なObjective-Cの方がいいかなと思ったんです。
0305デフォルトの名無しさん
NGNGキャッシュしてるみたいです。
↓が詳しいです。
http://homepage.mac.com/mkino2/spec/optimize/index.html
実際にはそんなに気にならないと思います。MacOSXの一般的なアプリケーションでは描画の方が圧倒的に重いし。
それに速度が重要な部分はCを使うでしょう。
あと、ObjCにはなくてJavaだとfinal classってのがあるけど、これって最適化に使われてるんでしょうか?
0306デフォルトの名無しさん
NGNG0307名無しさん@Emacs
NGNGここを見て、Linux で Objective-C を始める事にした。
Objective-C のライブラリ等は最初からインストール済だったので
それを使ってみようと思ってるんだけど、POT というのも気になる。
クラスブラウザは便利そうだし、GUI も Objective-C 風に書ける
(んだよね?)のも良いかなと。
以上、上げるついでに・・・
0308デフォルトの名無しさん
NGNGwinでいうところのSleep()と同じ
0309デフォルトの名無しさん
NGNGこっちで質問した方が解答率高いぜ。
http://pc.2ch.net/test/read.cgi/mac/1007632025/l50
0310デフォルトの名無しさん
NGNGとっくに自力で見つけてると思うけど一応。
[ NSThread sleepUntilDate:[ NSDate dateWithTimeIntervalSinceNow:second ] ];
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGはやらん原因と思う。
Obj-C builder とかないかなぁ。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGマジですか?
じゃあC++やった方がいいんですか?
0322デフォルトの名無しさん
NGNGなんだとゴルァ!
0323デフォルトの名無しさん
NGNGかつ、実行時間を稼ぎたいならCで書き直せるという
メリットがあったわけだけど、だったらProfilerが必須
だと思うんだが、どうだろうか。MacOS Xの開発環境には
Objective-CのProfilerがついてきてるの?
さらに言わせてもらえれば、Objective-Cは動作確認の
ために明示的なコンパイルが必要なSmalltalkに他ならな
いわけで、かなりウザいと思う。Cで書かれたライブラリ
に接続できるSmalltalkがあれば十分だと思う。
Coxの本が書かれた時代はソフトウェアICに未来があると
思われていたわけだけど、粒度の荒いソフトウェアICは
意外に問題が多かったことがわかってきたよね。GUI部品
とかはソフトウェアIC向きだけど、そこでは実行速度が
ビビッドな問題なので、Objective-Cのメリットはあまり
生きないという罠。
0324デフォルトの名無しさん
NGNGじゃあこれからObjective-Cをやってもあまりよくないってことですか・・・
0325デフォルトの名無しさん
NGNGC++よりもシンプル。
C++よりもダイナミック。
C++よりもメモリ効率が良いかも知れない。
C++と比べてObjective-Cの悪いところ:
C++よりマイナー。
C++よりも低速(チューニングできるけど、面倒かつ危険)。
C++よりもコンパイラに頼れない。
C++とObjective-C共通の弱点:
コンパイルしないとテストできない。
再利用性の高いソフトウェア部品を開発するのは難しい(※)。
※クラスベースのオブジェクト指向開発が、再利用を促進するというのは
希望的観測に過ぎなかったという結論があちこちで出ている。再利用可能
なソフトウェア部品を開発することは不可能ではないのだが、誰にでも開
発できるわけではなく、再利用性に期待して工数を短縮してしまうとデス
マーチになる。リファクタリングはOOPでしかできないわけではないので、
OOPはそれなりに便利なコミュニケーションツールとみなすべきだという
意見が正しいと思う。
0326名無しさん@Emacs
NGNG0327デフォルトの名無しさん
NGNG0328名無しさん@Emacs
NGNGhttp://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/answers.j
---------------------------------------------------------------------
別な観点から言えば、
Objective-Cプログラムのすべての要素がオブジェクトで表現されていたとし
たら、おそらくSmalltalkと同程度の速度であり、Smalltalkが行なえる基本
クラスへの最適化がないことで苦戦するでしょう。
---------------------------------------------------------------------
基本クラスへの最適化ってどういう事でしょう?
Smalltalk スレで聞いた方が良いかな?
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGメソッドディスパッチが動的に行われるので、実行中にライブラリを差し替え
れば即座に動作を修正できたりする。C++には無理。
0331デフォルトの名無しさん
NGNGObjective-Cが、将来的にも高度な最適化が行われないことを宣言しているわけ
ではなく、現状でこれといった最適化が行われていないけれどもハイブリッド
だからパフォーマンスが重要なところはCで書けるんで、その方がいいでしょ?
という程度の意味だと思う。
Objective-Cは「純粋なオブジェクト指向言語」ではない、という批判に対す
る返答として、「純粋なオブジェクト指向言語」にしちゃうと、そもそも
Objective-Cの存在意義なんかないじゃん?みたいな意味と言い換えても良い
かも。
0332デフォルトの名無しさん
NGNGロッククロージャオブジェクトを投げるとかの純粋オブジェクト指向がコンセ
プトなんだけど、実際にバイトコードにコンパイルする時点で最適化が行われ
て、条件分岐命令に置き換わったりする。
そういう最適化のことを言っているんだと思った。
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG同意。昨今のマシンは十分に速いからねえ。
現状、あえてObjetive-Cを使う理由はCのソースとの親和性だけだな。
あれ?
0337
NGNG「あれ?」って何だよ?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNGPerl の s/a/b/ 相当(全ての a → b に変換)の
操作をするにはどうしたらいいですか?
0343デフォルトの名無しさん
NGNGえー、残念ながら、簡単な方法はないはずです。
伝統的にC/C++/Objective-Cは文字列の処理が弱いです。
Perlなんかは文字列の処理が極めて強力なので、Perlあたりでプログラミン
グを始めた人がCに触れると、まず間違いなく途方にくれます。
0344デフォルトの名無しさん
NGNG普通はどんな方法でするの?
0345342
NGNGとりあえずありがとう。
道理でネットをいろいろ探しても見つからないわけだね。
0346デフォルトの名無しさん
NGNGttp://www.hi-ho.ne.jp/babaq/bregexp.html
とか、誰かの作った正規表現ライブラリを使うのがてっとりばやい。
ライセンスの問題をクリアするために自作している人も少なくないように思い
ます。
0347デフォルトの名無しさん
NGNG0348IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0349デフォルトの名無しさん
NGNGマジであの2ch運営してる人ですか?だとしたら
今、同じ板にいるのが夢のよう(´ー`)y─┛~~
0350デフォルトの名無しさん
NGNG0351IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0352デフォルトの名無しさん
NGNG今後、予想されるレス
「IPって何ですか?」
「串って何ですか?」 「串揚げ」
0353デフォルトの名無しさん
NGNGいやぁ、知らんです、、
0354デフォルトの名無しさん
NGNG>ひろゆき
2ch閉鎖って考えたことある?
310 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 17:58 ID:rLfxQ17l
>>301
ラウンジが重いですとかいちいち電話してくる人がいたとき。
352 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 18:01 ID:rLfxQ17l
悲しいときー。悲しいときー。
正月に友人からエロゲーを借りて喜んで帰ってきたら、
パソコンが壊れてたー。
昨日ヨドバシカメラで部品買ってきて直しました。
>>56
それ偽者よ
0355デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGそんなことはいちいち判断してらんないので、「もめごとは当事者同士で」
という結論になったんじゃないかと、、
0359デフォルトの名無しさん
NGNG7日ルールで言うと例えばこれ
http://qb.2ch.net/test/read.cgi/saku2ch/1034003763/
>>112
> どこまでが本気でまずい書き込みなのかが問題で
それは言われた方がどれくらい耐えるかに拠る。
現状だと、削除依頼を出されて7日ルールの範疇になった場合
スレッド上で反論をすれば、削除は保留されると思う。(俺の考え)
ただしその場合の責任は反論者に移る。 ってことかと。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG中学生以下だな
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG誰かが他の掲示板で密告→第三者が2chでスレ建て→祭り
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGとか適当に書いておこう。
0369デフォルトの名無しさん
NGNGそういうわけでここは快速スレですすれ違いのタラコの話などはやめてくださいね。
0370デフォルトの名無しさん
NGNGとはいえそれが分かったところで何が出来るわけでもなく只聞いてみただけ(´Д`;)
0371デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGブルマにハァハァとか、
ドラちゃんかわいいとか、
オナニーはマウス動かしながらなので、左手ですとか
そういうこと書くときは注意しないとな。
0374デフォルトの名無しさん
NGNG旧東ヨーロッパ系の胡散臭い国に鯖を移管して 名目上の管理者も
アル中のおやじとかやとってやらせてさあ。。
100%リモートじゃ無理?
2chみたいにこれだけ多くの不特定多数の人間が好きに発言できる場って
日本には他に無いはずだよ。良きにしろ、悪きにしろ貴重な存在だったのに・・・
0375デフォルトの名無しさん
NGNGどんなスレでも糞スレの雰囲気を漂わせるからねぇ。
ある意味すげーけど。
0376デフォルトの名無しさん
NGNGプロバ次第だと思われ。
0377デフォルトの名無しさん
NGNGキン肉マンに出てくるウールマン?
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGインターネット掲示板に「YOSAKOIソーラン祭り」の爆破予告を書き込んだとして、
札幌中央署は、脅迫の疑いで苫小牧市内のアルバイト男性(23)を近く書類送検する。
<2002年6月27 北海道>
0382デフォルトの名無しさん
NGNGだからこのスレ伸びないんだよ。
0383デフォルトの名無しさん
NGNG0384山崎渉
NGNG0385デフォルトの名無しさん
NGNG0386山崎渉
NGNG0387デフォルトの名無しさん
NGNG0388山崎渉
NGNG0389デフォルトの名無しさん
NGNG質問してもちゃんと答えが返ってきますか?
ちょっと不安です。書きたいことがあったんですけども。
0390デフォルトの名無しさん
NGNGとりあえずその質問を曝してテスト汁!
0391デフォルトの名無しさん
NGNGttp://www.interq.or.jp/earth/inachi/gtk/obgtk/intro.html
興味あるんだけどこれしか見つからない、、
深度111か、、
0392デフォルトの名無しさん
NGNGttp://anoncvs.gnome.gr.jp/viewcvs.cgi/gnome-objc/
ここ見るかぎり、開発は停滞してるようだが…
本当に使う必要があるんなら、コードを読みながらってことになるな。
ところで、Objective-Cにガベージコレクタ実装させようと思うんだけど、誰かやってる人いる?
libgc使っちゃえば簡単だけど、参照を失ったオブジェクトはfree()させられるよりも
releaseメッセージが送られる方がうれしいなと思って。
ttp://users.pandora.be/stes/compiler.html
これならちょっとだけ使ったことあるよ。Boehm gc に対応してる。
block(rubyみたいなの)も一応使える。
0394391
NGNG資料ないですね、、一応書き手のelliotさんのページは見つけたんですが、、
ttp://people.redhat.com/~sopwith/
コード読みながらちょっと作ってみた。
長くなりますがこんな感じ?よくわからんケド、、
#include <obgtk/obgtk.h>
@interface testApp : Gtk_App
{
Gtk_Window* winMain;
Gtk_Layout* testLayout;
Gtk_Label* testLabel;
Gtk_Button* testBtn,*testBtn2;
Gtk_Adjustment* hadj,*vadj;
}
- initApp:(int* )argcp:(char*** )argvp;
- free;
- button_press_event:(id)anobj :(GdkEventButton* )event;
- clicked:(id)anobj;
@end
0395391
NGNG- initApp:(int* )argcp :(char*** )argvp
{
[super initApp:argcp :argvp];
hadj = [[Gtk_Adjustment alloc] initWithAdjustmentInfo:0:0:0:0:0:0];
vadj = [[Gtk_Adjustment alloc] initWithAdjustmentInfo:0:0:0:0:0:0];
testLabel = [[[Gtk_Label alloc] initWithLabelInfo:"Objective-C"] show];
testBtn = [[Gtk_Button alloc] initWithLabel:"greeting"];
[testBtn connectObj:"button_press_event" :self];
[testBtn connectObj:"clicked" :self];
[testBtn show];
testBtn2 = [[Gtk_Button alloc] initWithLabel:"test2"];
[testBtn2 connectObj:"button_press_event" :self];
[[testBtn2 connectObj:"clicked" :self] show];
testLayout = [[Gtk_Layout alloc] initWithLayoutInfo :hadj :vadj];
[testLayout put:testLabel :(gint)0:(gint)0];
[testLayout put:testBtn: (gint)30:(gint)30];
[testLayout put:testBtn2: (gint)30:(gint)60];
[testLayout show];
winMain = [[Gtk_Window alloc] initWithWindowInfo:GTK_WINDOW_TOPLEVEL];
[[winMain add:testLayout] show];
[winMain signal_connect:"delete_event" signalFunc:gtk_main_quit funcData:NULL];
return self;
}
0396391
NGNG{
g_print("Freeing me\n");
gtk_main_quit();
return [super free];
}
- button_press_event:(id)anobj :(GdkEventButton* )event
{
g_print("Button %d was pressed\n",event->button);
return self;
}
- clicked:(id)anobj
{
printf("A thing was clicked, object is %#x\n",(unsigned int)anobj);
if(anobj == testBtn)
[testLabel set_text:"Hello,world!"];
else if(anobj == testBtn2)
[testLabel set_text:"clicked by test2"];
return self;
}
@end
0397391
NGNG{
id myApp;
myApp = [[testApp alloc] initApp:&argc :&argv];
[myApp run];
return 0;
}
すれ汚してすいません、、
0398デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています