Xcode part4

このエントリーをはてなブックマークに追加
947名称未設定:2007/03/16(金) 07:55:29 ID:s9xkMV3i0
>>946
ありがとん。
やっぱ、クリーンインストールしなきゃダメかな...
確かにプレリリース版を入れている時点で、ここで質問しちゃいけなかったのかもしれないけど
正常な状態が解らなかったもので...
もしよろしければ、gcc4.0.1のビルド番号を教えていただけますでしょうか?
(gcc3.3は黒色なので分散できる筈です)
948906:2007/03/16(金) 08:46:36 ID:O7jHBhgt0
gcc3.3(1819), gcc4.0.1(5363)
949947:2007/03/16(金) 09:51:03 ID:6JLHP/LP0
>>948
ありがとう
MacBookの方が4.0.1(5367)なので、クリーンインストールしてみます
メイン機でなくて良かった
950名称未設定:2007/03/16(金) 17:20:20 ID:NRiBsGXs0
MBP 2.33GHzとmini 1.67GHzだと分散したほうが遅いな・・・がっかり
951名称未設定:2007/03/17(土) 21:07:11 ID:bPxK5pBc0
デバッグ中に コマンド+Option+Y をおすとブレークポイントが設定されるんですが、これってバグなんでしょうか。
デバッガ停止の筈なんですが、使いにくい事この上ないです。
952名称未設定:2007/03/17(土) 22:44:14 ID:vxV2c+po0
>>951
うちではちゃんとデバッガの起動/終了になる。
953名称未設定:2007/04/01(日) 17:13:11 ID:5fKzxcM+0
NSWindowやNSPanelのサブクラスを作って
初期化メソッド-(id)initをオーバーライドしたんですがうまくいきませんでした。
考えてみたらインターフェースビルダーの中でインスタンス化してるということは
すでにallocとinitされてる、、?てことはNSWindowやNSPanelをカスタマイズしたい時は
基本的にはawakeFromNibなどの中でやれということでしょうか?
954名称未設定:2007/04/01(日) 17:21:21 ID:oipyR5Vo0
>>953
どうカスタマイズしたいのかわからないけど、透過度や矩形の調整を
したいなら initWithContentRect のほうだと思うよ。
955名称未設定:2007/04/01(日) 17:22:15 ID:REAFE2Ul0
>>953
-initWithCoder:を上書き。
956名称未設定:2007/04/01(日) 17:36:47 ID:Ywraa7LC0
>>953
IBに貼付けてあるだけなら、awakeFromNibでやればいい。
サブクラス化しても、復元がcoderで行われている。initは呼ばれない。

IBに貼付けてない、コード側から作るオブジェクトなら、
普通にinitを上書きでいいんじゃない?

正直initWithCoder:を触るケースって今一分かんないんだよな。
957名称未設定:2007/04/01(日) 17:44:02 ID:5fKzxcM+0
PanelをIB上でUtilityPanelに設定するとHideOnDeactivateが設定できなくなるので、
それを初期化かなにかで設定できないかなと思ってやってました。
MyObjectのawakeFronNib内でPanelにsetHidesOnDeactivateを投げて設定できることは確認しました。
今から出かけるのでまた夜にどちらとも試してみます。ありがとうございます。
958953:2007/04/02(月) 13:09:43 ID:ecv3/RA90
一日遅れで試してみましたが
今回のケースならawakeFromNibがいいかなと思いました。
awakeFromNib以外の方法を探してたのは
awakeFromNib内の初期化メソッドがどんどん多くなってきたので
なるべくクラスごとに分けて見やすくしようとしたためで、
それで試してみると-initの上書きが反映されないと。
awakeFromNib内を簡潔にしたかったので、
結局init系を上書きしてもコードで生成しないといけないのでそんな変わらないかなと。
先に何をしたいか書くべきでしたね。読み返してみると質問内容が全然違う;
みなさまありがとうございました。
959名称未設定:2007/04/07(土) 09:39:28 ID:fdRPhN2F0
作成したアプリが Xcode の"ビルドして実行する"で起動すると正常に動作します。
しかし、プロジェクト/build/release/アプリ をダブルクリックして起動すると起動
は成功するのですが、動作中に応答しなくなります。何が原因なのかお教えください。
よろしくお願いいたします。

アプリは NSTextView のサブクラスを使っていて、テキストビューで入力した
文字列を Python のフィルタで処理してからテキストビューに表示するようにして
います。Python のフィルタは NSTask で動作させています。このアプリなんですが
テキストビューへの文字入力を始めると応答しなくなります。 Python のフィルタ
とのやり取りに失敗しているのではないかと思うのですが、原因がわかりません。
960959:2007/04/07(土) 09:42:51 ID:fdRPhN2F0
このアプリのフィルタ部分ですが、アプリをXcodeの"ビルドして実行"から
起動した場合には正常に動作して、予期した通りにテキストビューに処理済
文字列を表示します。不具合はビルド結果をダブルクリックして起動した場合
におきます。

連書き失礼しました。
961名称未設定:2007/04/07(土) 10:57:15 ID:BTJ0OfDS0
>>959

環境変数まわりとか?パスが切れてないとか。
タイムアウト処理くらいは書けばよいのでは。

というか、文字入力のたびにForkしてるのか?
962名称未設定:2007/04/07(土) 11:25:51 ID:fdRPhN2F0
959です レスありがとうございます >>960

パスはカレントディレクトリ、python のパス、フィルタのパス、いずれも
/ から始まる絶対パスであたえていますが、これで切れることはあるので
しょうか?

文字入力の度にプロセスを起動するのではなく、ドキュメントを開く時に
プロセスを起動して、キー入力の度に NSPipe を介して標準入出力から
文字列をやり取りしています。ドキュメントを閉じるまで同じフィルタを
使用します。
963名称未設定:2007/04/07(土) 11:30:59 ID:fdRPhN2F0
>>961 すみません。アンカーを間違えました
964名称未設定:2007/04/07(土) 22:07:27 ID:fUpw8qCF0
>>959
Xcodeから起動した場合は自分の思った通りに動き続けるわけ?
バッファリングが違うのかも。Xcodeが何か細工をしているとかで。
pythonを全然知らんのでアレだが、どういうIOを使ってるか気をつけないとまずいかも。
あと、読み出し側がちゃんと読めてないと当然詰まるが、Xcodeで動かす限り
大丈夫なら、まあ大丈夫なのかな。
965名称未設定:2007/04/07(土) 22:23:28 ID:hEdubjyk0
>>964
確かに。パイプ相手で強制フラッシュって出来るんだっけ?
細工が必要だろうね。
処理が終わったら相手が終了するなら、フラッシュはされるけど
上げっぱなしだったら何かしら強制フラッシュできないとだめだろうな。
966959:2007/04/08(日) 09:52:57 ID:geQwgU690
>>964-965
Xcodeから起動すると思った通りに動いています。何百文字でも入力して
処理できます。ビルドプロダクトを起動すると1文字入力したところで
応答しなくなります。

バッファリングやパイプの強制フラッシュというのが具体的に何にあたる
のかわかりませんでした。せっかくレスしていただいたのに、申し訳あり
ません。勉強し直します。
967名称未設定:2007/04/08(日) 14:06:27 ID:74OqTMs70
>>966
そういう、ターミナルみたいなもの(実際シェルの代わりにそのフィルターを指定したら
動くだろうね。まあpipeでなくてptyだが)を作るにはもう少し知識がいるのかも。

例えば
% perl -e 'print "a"; sleep(5);' | cat
ってすると、sleep が終わるまで a は画面に出てこないわけ。何故かわかるかな?

あ、そのソフトの問題がバッファだと100%確定したわけじゃないけど。
968名称未設定:2007/04/08(日) 15:36:14 ID:KM/qoQ3n0
blocing mode
969名称未設定:2007/04/08(日) 18:32:48 ID:74OqTMs70
>>968
(綴り間違ってますけど)
ただ、確かNSFileHandleはnon-blockingだとうまく動かなかった気が。
NSTaskを使っているというんでNSFIleHandleも使っているという仮定だけど。
やっぱpipe/fork/write/readかな(w
970名称未設定:2007/04/08(日) 22:17:18 ID:+ka9aP4k0
non-blockingにしたところで、応答しなくなる現象は回避できるけど、
バッファが埋まってflushされるまでは一文字たりとも返ってこないわけで、
今回のような使い方にはあんま有用でなかんべ
971名称未設定:2007/04/09(月) 01:20:03 ID:nC4wu0QV0
応答しなくなるのを回避するのは、むしろ例えば別スレッドにするとかですかね。
いずれにせよ本質的な問題を解決しないとどうしようもないという。

あとはXcodeが子プロセスにやってそうなこと/出来そうなことを推測するのもまた楽し(?)
個人的にはMac OS X上のpythonってFoundationをリンクしているのがちょっと気に
なっている。
972名称未設定:2007/04/09(月) 18:57:54 ID:CI5L5GS80
Intelコンパイラ使ってマルチスレッド組んでる人いますか?
あれってソースコードの中にObjective-Cのコードが1行でも入ってるとダメなんですよね?
973名称未設定:2007/04/09(月) 20:34:42 ID:Ywst/Iof0
>>972
ICCはよくわからんけど、
POCみたいなObjC→Cのトランスレータ使えばいいんじゃね?

http://users.pandora.be/stes/compiler.html
974名称未設定:2007/04/10(火) 00:34:43 ID:/Z+lS9I10
>>971
というわけで、とりあえず stdio を使っている部分があるかチェックして、あったら
fflush() をしてみるとか。
python の場合、使っている IO が stdio を内的に呼ぶものになっているかも。
その場合は fflush() 相当、あるいはバッファリングを管理するものがあるのでは。
975名称未設定:2007/04/10(火) 07:07:31 ID:UeHhOZXC0
これ結構使えるようになったけど、
就職先がなくて困ってます。
実際、これで仕事してる人、地方の方いますか?
給料はどのくらいですか?
976名称未設定:2007/04/10(火) 07:18:49 ID:d1pT81EE0
時給1200円開始でどう?
977名称未設定:2007/04/10(火) 07:46:37 ID:Q4fkFm/9O
>>975
エルゴとか?
978名称未設定:2007/04/10(火) 07:58:12 ID:UeHhOZXC0
>>977
エルゴとか良いけど、出来れば、中国地方で探してます。
てか、winの開発系の方が給料良いんかな、、、
979名称未設定:2007/04/10(火) 09:12:36 ID:ohLdNwn40
地方限定じゃ、まず見つからないだろうな。
両方やってる会社なら給料は変わらんだろ。
980名称未設定:2007/04/10(火) 10:07:00 ID:3xnFsbg60
>>978
ここで晒すわけにはいかんけど、

「県庁所在地」 開発 Macintosh

あたりでググってみては
981名称未設定:2007/04/10(火) 10:20:25 ID:d2asL4000
xcodeからc++のcommand-lineのプログラムをrunするときに
argumentsを指定するのはどうしたらいいですか?

例: Terminalからだと a.out input.dat output.dat みたいな感じにしたいんです。
982名称未設定:2007/04/10(火) 10:38:20 ID:feXjd3oX0
>>976
都内で探せばバイトありますか?
983名称未設定:2007/04/10(火) 11:03:35 ID:3xnFsbg60
>>981
「プロジェクト」 → 「アクティブな実行可能ファイル'XXXX'を編集」 → 「引数」タブ
984名称未設定:2007/04/10(火) 16:43:02 ID:k+o1cu6J0
>>975
自分で会社を起こす!
985名称未設定:2007/04/10(火) 18:08:35 ID:aJAegtGp0
そして倒産!!
986名称未設定:2007/04/10(火) 20:07:58 ID:k+o1cu6J0
まぁ、ドライバ開発できれば引く手数多なのだろうけれど。
987名称未設定:2007/04/10(火) 20:14:01 ID:yHQKwAHd0
>>985
花火で会社を丸やけにするんですね。
988976:2007/04/10(火) 20:23:45 ID:bXc+JNxV0
>>982
こちらは地方なので1200〜1400辺りで様子見てから
良ければ社員になれるかな
Macで募集すると、すきこそものの上手なれで上達が速い傾向がある
989名称未設定:2007/04/10(火) 20:44:01 ID:BKaMOxzm0
>>988
伏せ字で良いから社名を言っちゃいなよ。
中国地方でMac開発者をGetするなんてそう簡単じゃないんだから双方ともに
チャンスじゃん。
早くしないと>>982は花火で会社を丸焼きにちゃいそうだぞ。
990名称未設定:2007/04/10(火) 21:31:02 ID:XU7AiPj20
アッ○ル
991981:2007/04/11(水) 10:56:13 ID:0JFPYj330
>>983
それは試してみたんですがファイルの読み込みに失敗します。
input fileやoutput fileの場所の指定はどうやったらできるのですか?
argumentsのところにファイルの場所を含めての入力もしてみたのですがエラーが出ます。
992名称未設定:2007/04/11(水) 11:20:45 ID:gVQ6GhKQ0
>>991
mainにブレークポイント置いて
引数リストに実際に何が入ってるかは見てみたの?
993名称未設定:2007/04/11(水) 13:20:53 ID:PUKzK8BW0
>>991
作業ディレクトリを設定することもできるけど、フルパスで指定すれば問題ないはず。

「エラーが出ます」じゃなくてエラーコードなりエラーメッセージなりを書いてください。
994981:2007/04/11(水) 16:00:04 ID:0JFPYj330
>>992
見てないです。。。
まだそれほどXcodeを使いこなしてません。。。

>>993
Error: ~/Documents/p1/tests/t01 could not be opened

p1 has exited with status 1.



別途自分で用意したmakefileを使ってコンパイルした後に、
terminalから ./a.out ./tests/t01 ./tests/t01.out
の様に実行すると問題なくexecuteされます。
995981:2007/04/11(水) 16:06:03 ID:0JFPYj330
ちなみにp1.xcodeprojはp1のフォルダ内に、
p1 (executable file)は p1/Debug フォルダ内にあります。
p1/Debug フォルダ内にはargumentで指定したt01.outファイルがあります。

argumentsの設定内容:
1行目 ~/Documents/p1/t01
2行目 ~/Documents/p1/t01.out

共にチェックは入っています。
996名称未設定
>>995
~を展開してください。引数で与える時でもいいし、プログラム的にでもいいですから。