Carbonはさっぱり!!!

このエントリーをはてなブックマークに追加
1名称未設定
Carbon
http://developer.apple.com/carbon/

Carbonスレが無いので立ててみた。
ほんと情報少ないよ、Carbon…

【関連スレ】
Xcode part6
http://pc11.2ch.net/test/read.cgi/mac/1201693264/

Cocoaはさっぱり!!! version.X(10)
http://pc11.2ch.net/test/read.cgi/mac/1211290055/
2名称未設定:2008/07/27(日) 06:59:11 ID:/YX/4Gpr0
10.6でUI系大量廃止の予感
3名称未設定:2008/07/27(日) 08:39:36 ID:Vf9sqd4y0
Finderはどーなっちゃうの?
4名称未設定:2008/07/27(日) 08:41:32 ID:0Z6SChht0
来年1月の MacWorld あたりで、
Jobs 「Finder もとうとう Cocoa で書き直したよ。」
とかいうことになりそう。
5名称未設定:2008/07/27(日) 09:22:33 ID:mkJjDbWC0
Core FoundationやLaunch ServicesみたいなモダンCarbonはもちろん残るし(ていうかそもそもCarbonでないかもしれない)、
HIToolboxみたいなのは消えるでしょう。
6名称未設定:2008/07/27(日) 09:59:07 ID:5PcwKXgU0
そういや、CocoaアプリからCarbonの関数使う方法ってあるのかな
使えたら便利そう。
7名称未設定:2008/07/27(日) 10:17:24 ID:0YIrKGo20
>>6
どういう状況を言ってるのかわからんが、フツーに使えるだろ?
Carbonは基本ただのCだし
8名称未設定:2008/07/27(日) 10:17:45 ID:0Z6SChht0
>>6
UI 系のAPI でなければなにも考えなくても使えます。
単に C の関数を呼ぶだけなので。

UI 系の API の場合は Cocoa のイベントループと Carbon のイベントループに
協調してもらう為にちょっとだけ注意がいります
(10.2 のころはすごい注意がいったけど、今はもうほとんど注意いりませんが。
Apple もがんばって二つを融合させてます。)

http://developer.apple.com/documentation/Cocoa/Conceptual/CarbonCocoaDoc/CarbonCocoaDoc.html

を参照。
9名称未設定:2008/07/27(日) 10:34:34 ID:w22VFVuh0
スレタイの意味がわからなくなっちゃった
10名称未設定:2008/07/27(日) 10:50:47 ID:5PcwKXgU0
>>7-8
ありがとうございます。呼び出せるんですか。なるほど
11名称未設定:2008/07/27(日) 11:27:22 ID:XzUQ+teH0
お先真っ暗だなw
12名称未設定:2008/07/27(日) 11:31:13 ID:mkJjDbWC0
実にさっぱりだ
13名称未設定:2008/07/27(日) 16:07:07 ID:yWHbuO4C0
14名称未設定:2008/07/28(月) 01:52:17 ID:/q1KhJhA0
カーボンでぶ
http://www.carbondev.com/site/
15名称未設定:2008/07/28(月) 15:36:41 ID:y6aOHfvF0
カーボンには、ウインドウ内のテキストなどをスクロールバーによってスクロールするのに便利な関数とかありますか?
16名称未設定:2008/07/28(月) 23:34:45 ID:/q1KhJhA0
17名称未設定:2008/07/29(火) 22:23:31 ID:J2hbWN8O0
>>4
 Finderって、10.5でCocoaになったと思ったが。。。 
残るは、iTunesぐらいやろ。
18名称未設定:2008/07/29(火) 23:10:28 ID:7++dPVSg0
>Finderって、10.5でCocoaになったと思ったが。。。
いいえ。CoverFlow とかは HICocoaView をつかってて、
メインのイベントループは Carbon です。
Finder.app 内の .nib をひらいてみれば、 Carbon nib ばっかりです。
19名称未設定:2008/07/30(水) 00:01:19 ID:uMVVV3AM0
>>18
そうなんや。すると、メンテナンスリリースの10.6でFinderとiTunesを書き直し?
2015:2008/07/30(水) 01:12:44 ID:GMM6owMJ0
>>16
ありがとう。
21名称未設定:2008/08/08(金) 12:50:35 ID:tGVd8f8b0
>>13
>また、QuartzをはじめとするMac OS X特有のAPIを利用するためには、Mach-O形式が最も適する。このフォーマットはdyldとも呼ばれる。
Mach-Oの事dyldて呼んだっけ?

>>19
なんで?
22名称未設定:2008/08/08(金) 14:06:59 ID:onjewaGE0
JapanのWikipediaは誤り多すぎで資料の価値がないよ。
23名称未設定:2008/08/08(金) 18:04:15 ID:eCf3C1RY0
>>21
Mach-O ABIに基づいたフォーマットをdyldと呼ぶ、って意味だろ常考
24名称未設定:2008/08/09(土) 00:40:21 ID:SJNmx61c0
age
25名称未設定:2008/08/16(土) 01:07:45 ID:4JXCRJRF0
#include <NichanCore/NichanCore.h>

NCBoardRef board = NCSiteCopyBoardForName( NCGetDefaultSite(), CFSTR("新・mac") );
NCThreadRef thre = NCBoardCopyThreadForName( board, CFSTR("Carbonはさっぱり!!!") );
NCThreadWrite( thre, CFSTR(""), CFSTR("sage"), CFSTR("書き込みもさっぱり!!!") );
CFRelease(thre);
CFRelease(board);
26名称未設定:2008/08/24(日) 23:48:48 ID:NNKYolDJ0
>>5
>HIToolboxみたいなのは消えるでしょう。

HIObject とか HIView も消えるの?
27名称未設定:2008/08/26(火) 11:19:22 ID:QKYVMLWA0
>>26
64bit Carbon ではサポートされないよ。
28名称未設定:2008/08/28(木) 08:15:31 ID:lR1bHmWn0
>>27
というか64bit Carbonというものが存在すると思っていいのかという疑問が。
29名称未設定:2008/08/28(木) 22:11:48 ID:N6CiMicz0
>>27
サンクス。HIView も消えるんだ…
Trolltech の記事にもそう書いてあるね

http://trolltech.com/company/newsroom/announcements/press.2007-06-19.6756913411

>>28
64bit Carbon の GUI という事では XCode がそうみたいね

http://www.carbondev.com/site/?page=64-bit+Carbon
30名称未設定:2008/08/28(木) 22:57:36 ID:CGGO4Opo0
>>29
XCode は 64 bit Cocoa だけど。その記事は、Leopard についてくる 64bit GUI (Cocoa か Carbon かにかかわらず) ソフトが XCode とチェスだけだとかいてある
31名称未設定:2008/08/28(木) 23:25:01 ID:NWohk4Vk0
QTKitが32bitしかない
32名称未設定:2008/09/01(月) 08:47:33 ID:EIxPGBBB0
>>30
XCode のメニューは HIView で表示されていると書いてある様に読めるけど?
otool -L で見ても Carbon Framework がリンクされているみたいだし。
33名称未設定:2008/09/01(月) 13:37:38 ID:eQLmSgjH0
>>32
メニューバーまわりは Cocoa の下が Carbon GUI になってるので、
64 bit Carbon も一部つかわれてることになると書いてあるだけです
これは XCode にかぎらず、どんな 64 bit Cocoa app もそう。

otool で Carbon.framework がリンクされてるかというのは
Carbon API をつかってるかの判断にはなりますが、
Carbon GUI をつかってるかの判断にはなりません。
Safari とかみてください。

HIほげほげをつかってるかどうかは、
nm で参照シンボル一覧をみて grep HI とかしたほうがいいと思います。
Finder は使いまくりですが Xcode は全然つかってないのがすぐわかります。
34名称未設定:2008/09/01(月) 19:03:00 ID:EIxPGBBB0
>>33
>メニューバーまわりは Cocoa の下が Carbon GUI になってるので、
>64 bit Carbon も一部つかわれてることになると書いてあるだけです

そういう事。だから 64bit Carbon GUI という話。
35名称未設定:2008/09/08(月) 00:17:48 ID:bjvhr6DY0
保守
36名称未設定:2008/09/08(月) 18:17:20 ID:u60rm8AD0
カーボンいきなり消すよって言ってるの?
恥ずかしくて使えないようにしてやるよケケケ
っていってるの?
どっち?
37名称未設定:2008/09/09(火) 16:59:16 ID:8Y73fYun0
たしか、Carbonの64bit化が進まないことに関するインタビューで
Phil Schillerだったかが、「これは開発者に対するメッセージだ」って言っていた気がする。

おれは、その時点でCarbonの切り捨てと受け取ったが、
でも、その後で色んなところで火消し的なコメントがあったから... よく分からんw
そんな俺は、iPhoneのおかげでObj-Cに移行中
38名称未設定:2008/09/10(水) 04:34:03 ID:jHV8VpDF0
AppleScriptは64シールがついてるし、必要なものはアセンブラで組んで非公開?
39名称未設定:2008/09/10(水) 07:48:13 ID:5dQlmL/w0
>>38
>アセンブラで組んで非公開

タモリのAA(ry

Carbonのヘッダーファイルの公開を止めればデベロッパーには効果てきめんw
ライブラリだけ残せば既存のCarbonアプリを走らせることはできる。

ま、SnowLeopardでは単に64bit Carbon部分を隠す以上のことがあるかも...ね。
40名称未設定:2008/09/10(水) 20:54:34 ID:fKMKBMas0
carbon.h はモンスターだってさ。
41名称未設定:2008/09/11(木) 07:02:26 ID:t/U5SkRa0
cocoa(objective-c)には魅力を感じないから、そろそろmac捨てるか
42名称未設定:2008/09/11(木) 08:28:18 ID:/6H6+nCY0
Carbonが消えたらX11用アプリが増えるのかな。
既存のアプリObj-Cで書き直すのは大変だろうし。
43名称未設定:2008/09/11(木) 10:43:06 ID:m++0cvNx0
>>42
Qt/Mac が流行るんじゃないの?
X11 といってもいまどき Gtk もしくは Qt でないものなんてもうないのでは...
44名称未設定:2008/09/11(木) 16:06:01 ID:159odSdA0
Athena WidgetとかMotifとか。
45名称未設定:2008/09/11(木) 22:06:39 ID:m3ZmxbVs0
よーしパパは久しぶりにXViewでプログラム書いちゃうぞ。
46名称未設定:2008/09/11(木) 22:18:49 ID:Lq3rNrya0
ならば私はSunViewに挑戦だ。
47名称未設定:2008/09/13(土) 00:16:05 ID:U1NKP68E0
Qt と wx は Cocoa に移行するんだよね。
自前でクロスプラットフォームの GUI ライブラリをメンテしてる所の中で
大規模なのは Mozilla と OOo かな。この二つがどうするのかは興味ある。
あとは Adobe もそうかな。
48名称未設定:2008/09/13(土) 00:34:18 ID:HlQcU5id0
Gecko はすでに 1.9 (FireFox 3 以降) で Cocoa に移行してるよ。
http://boomswaggerboom.wordpress.com/2008/06/10/firefox-3-for-mac-os-x-under-the-hood/

OOo はそもそも最近まで OS X native port がなかった。
Sun 本体が OS X port に参入したあとは、徹底的に Cocoa に書き直されてます。
http://blogs.sun.com/GullFOSS/entry/news_from_the_mac_port
49名称未設定:2008/09/13(土) 01:08:14 ID:i1IfSPAe0
Adobe Photoshop LightroomはCocoaアプリで言語にLuaを使ってるんだっけ。
50名称未設定:2008/09/13(土) 02:08:35 ID:U1NKP68E0
>>48
トンクス。前見た時はどっちも Carbon だったのに…
あとは Tk と Fltk くらいか。あ、Swing と SWT も
Carbon なのかな。GLUT は既に Cocoa だし、
SDL も一部 Objective-C だよね。

着々と移行は進んでいるという事か…
51名称未設定:2008/09/13(土) 07:38:27 ID:HlQcU5id0
>>50
Tcl/Tk の Aqua 版は既に Apple が開発引き取ってるのでは?
Tiger から標準添付だよね。まだ Carbon ぽいけど、自前で Cocoa にするでしょう。
52名称未設定:2008/09/14(日) 16:29:25 ID:HHAkPfff0
ソース見てみた。Firefox も OOo も Objective-C と C++ のハイブリッドなのね。
つう事は VCL や Mozilla の widget を使ってアプリを作れば、C++ で Cocoa な
アプリが作れちゃうという事か(まあ wx や Qt でも良いけど)。

こうして Carbon が消えて行くのは寂しくもあり、正しい事なんだろうね。
ここまで来るのに大分時間が掛かった気がするけど。
53名称未設定:2008/09/14(日) 20:48:42 ID:bh5IWn1X0
寂しくはないかな
54名称未設定:2008/09/14(日) 22:19:52 ID:HHAkPfff0
いや、質問した訳じゃないよ。
55名称未設定:2008/09/14(日) 22:32:08 ID:lL8CcSZRO
アホがおるw
56名称未設定:2008/09/15(月) 02:32:37 ID:KUvgRAPD0
ホントだなw
57名称未設定:2008/09/15(月) 09:30:47 ID:P9sfamL40
>>52
ソース見たっていうか、どんな拡張子のソースファイルがあるかを確認した
だけって感じだな。
58名称未設定:2008/09/15(月) 12:57:37 ID:KUvgRAPD0
いや、君の事は訊いてないよ。
59名称未設定:2008/09/15(月) 13:07:50 ID:K2TVLd3x0
ID:HHAkPfff0とID:KUvgRAPD0
60名称未設定:2008/09/15(月) 13:12:02 ID:KUvgRAPD0
洒落が通じない奴だな…
61名称未設定:2008/10/01(水) 22:57:49 ID:ati8Gkjv0
最近でた GTK+ の OS X 版も下は Cocoa をつかってるらしいよ。
(すくなくとも Carbon の GUI 部分はつかってないぽい)
62名称未設定:2008/10/02(木) 00:18:58 ID:Yk9vsgH10
63名称未設定:2008/10/02(木) 01:21:07 ID:4jZBQGU80
WINE も Cocoa のバックエンドが出来ると嬉しいね
64名称未設定:2008/10/09(木) 14:35:47 ID:/5cS+86B0
kFSIterateSubtreeて何の為にあるの?
65名称未設定:2008/10/10(金) 00:14:15 ID:e+2tiOgT0
文字通りディレクトリを潜るためだと思うが。
http://developer.apple.com/documentation/Carbon/Reference/File_Manager/index.html
66名称未設定:2008/10/10(金) 15:34:52 ID:ZZbhh18D0
でも/からじゃないと駄目なんでしょ。
67名称未設定:2008/10/17(金) 23:51:46 ID:rXYR+FYe0
 
68名称未設定:2008/10/19(日) 03:27:36 ID:BFvOV7uJ0
>>66
以前volfsにまつわるセキュリティの話があったが、それに関係している様な気がする。
ただの感だけど。
69名称未設定:2008/10/19(日) 06:36:58 ID:btWKiKDR0
>>64-68
FSCatalogSearch()の動作を考えれば解る。これはHFS+のカタログデータが物理的に
まとまっているのを利用してボリューム単位で高速サーチするAPI
だから一部分だけという動作は意味無いし、全体サーチと速度も大して変わらない。
kFSIterateSubtreeはFSCatalogSearch()専用の内部データリファレンス
70名称未設定:2008/10/20(月) 02:30:04 ID:W0U9j6cN0
RunApplicationEventLoop();
が64bit化されてないね。カーボンアプリ終わったな
71名称未設定:2008/10/20(月) 03:21:31 ID:WleJ6NH/0
もう一年もたった今ごろ何をいってるのやら。
http://www.carbondev.com/site/?page=64-bit+Carbon
のへんでも読んで泣け。
72名称未設定:2008/10/20(月) 07:22:36 ID:W0U9j6cN0
73名称未設定:2008/11/23(日) 09:50:27 ID:fOaeIxBi0
OS X での Carbon プログラミング入門っていい本無いですか?
去り行く技術だけど、興味があるので...
これぐらいしかみつかりませんでした。高い...
http://www.amazon.co.jp/gp/product/4839907102/
http://www.amazon.co.jp/dp/0672322676/
74名称未設定:2008/11/23(日) 10:58:47 ID:sHE9MB570
75名称未設定:2008/11/23(日) 12:37:44 ID:fOaeIxBi0
どうもです。
http://www.amazon.co.jp/dp/0672322676/
はオンライン版があることがわかりました:
http://www.mactech.com/macintosh-c/online.html
76名称未設定:2008/11/23(日) 12:52:21 ID:wVL3B33c0
MacOS X Carbonプログラミングガイド
約4000円だったものが7250円って、高っ!
77名称未設定:2008/11/23(日) 12:53:44 ID:fOaeIxBi0
それだけ「今は手に入りにくいが、必要な人にはとても必要」
ということじゃないでしょうか。もうちょっと安く手に入らないですかね。
どっかの本屋で売れずにプログラムの棚に並んでたりとか...
78名称未設定:2008/11/23(日) 19:30:12 ID:KRRZK5j40
>>73
地元の図書館探してみたらどうだ。
俺はもう使わなくなった古いToolboxやCarbonプログラミングの本を図書館に寄贈したよ。
手元に置いておくと邪魔だし、売るとまた見たいときに手に出来なくなる危険があるので図書館を書庫替わりにいらない本を寄贈している。
79名称未設定:2008/11/23(日) 20:33:20 ID:vUNKbN2C0
うちの田舎の図書館になぜかパタヘネ本が入ってたのは
>>78みたいな人のおかげだったのか
80名称未設定:2008/11/24(月) 01:01:23 ID:5c89LvVO0
>MacOS X Carbonプログラミングガイド
koike氏のサイト見れば内容はほとんど同じだぜ。
81名称未設定:2008/11/24(月) 01:22:12 ID:vDEh/3rrP
図書館に寄贈か、それはいいな。
専門書は捨てるにはもったいないし、
ブックオフじゃ適正価格で見てもらえないし。
いいことをきいた、おれも今度からそうするわ。
82名称未設定:2008/11/24(月) 02:06:30 ID:L58lAqw80
そういえば新居のToolBox本上下刊、結構奇麗な状態で持ってるわ
83名称未設定:2008/11/25(火) 16:59:53 ID:jbCA3NTE0
>>73
その本は会社にある。昔読んだけど、ほとんど役に立たなかった。
今となっては内容も古すぎて、ゴミと言っても間違いはない。
何を参考にしたいのかわからないが、興味だけで買うなんて
バカげている。

AppleのサイトのCarbon関係のドキュメント読んだ方が遥かに良い。
古いCarbonのドキュメントもあるし。
84名称未設定:2008/11/25(火) 17:32:15 ID:LeoNF+JM0
まだああいう人もいるんだとわかってamazonに出そうかと思ってたのにそういうこと言うなよw
85名称未設定:2008/11/26(水) 00:11:45 ID:x+1UTSYr0
>>84
悪魔めwww
86名称未設定:2008/11/26(水) 00:26:56 ID:5XO+3HeC0
入門Carbon
ってのもあるよね。
87名称未設定:2008/11/26(水) 12:38:08 ID:kvTqutyD0
XcodeでなくてCW+PowerPlantなら「PowerPlantによるCarbonアプリケーション」
がいい本だ。つぶれた広文社の本。役立たずの>>73の本と違っていろいろ役に立った。

Xcodeでは役に立たないけどね。
88名称未設定:2008/11/26(水) 15:22:58 ID:Dcfv0V1m0
そういえばK仲川さんてお元気かな。
89名称未設定:2008/11/26(水) 17:06:12 ID:5XO+3HeC0
>>73のどっちがダメなの?
90名称未設定:2008/11/27(木) 09:11:30 ID:LuyZ1rOs0
少なくとも上は糞。買う価値なし。
下はわからないけど、2001年の本だから今では役に立たないと思う。
91名称未設定:2008/12/02(火) 12:05:36 ID:Bcsfm/bO0
お客様の中でCarbonに詳しい方はいませんか〜?

リソースファイルからリソースデータを読み込んだあと、保存せずに編集を破棄したいことが
あるんですが、どこかでファイルが更新されているようで、どうしたらいいかよくわからない
でいます。

IM の UpdateResFile() の項を読むと、CloseResFile() は UpdateResFile() を呼ぶとあり、
さらに CloseResFile() はアプリ終了時に自動的に呼ばれるとあります。
ということは、リソースを読み込んだ後、何もしないとリソースファイルはアプリ終了時に
勝手に更新(再保存)されちゃうということですかね?
何もせずファイルを全く更新したくないときがあるんですが、どうしたらいいでしょうか。

最初に read-only で読み込めばいいかもしれませんが、read-write で読み込んだけど
ファイルは更新したくないときとか....
もしかしてメモリ上のリソースデータを破棄するようなことをすればいいんですかね?
92名称未設定:2008/12/02(火) 13:01:24 ID:DiP/2Yku0
SetResAttr で resChanged をむりやりクリアしてみれば?
93名称未設定:2008/12/02(火) 19:29:22 ID:t4u2WXUQ0
>>91
普通は勝手に更新されないよね。
どこかでChangedResourceかWriteResourceを使ってない?
94名称未設定:2008/12/02(火) 19:40:13 ID:BHpc+DAf0
9591:2008/12/02(火) 21:06:31 ID:dVXlLA6j0
>>92-94
わー皆さんどうもありがとうございます。Carbonスレで、こんなにすぐにちゃんとしたレスを
もらえるとは思いませんでした。

>>92 さんの書き込みをチラ見してから、念のためもう一回リソースマネージャの項目を
読んでいたら「ChangedResource 等が呼ばれると、リソースマネージャはファイルを更新する」
とあり、もしや、と思ってコードを見直すと、無条件に ChangedResource/WriteResource を
呼んでいる箇所がありました。そこを修正したらよさげです。

というわけで >>93 さんがまさにビンゴです。>>92 さんの方法でもたぶんいけるでしょう。

もうだいぶ前に書いたところだったので、自分のコードもリソースマネージャも忘れかけて
いました。どうもありがとうございました。
96名称未設定:2008/12/26(金) 19:16:21 ID:EChbXeuu0
すいません、ど素人なんですが、
CarbonとC言語の基本的な事がわかる
サイト,スレ,本などを教えて下さい。
97名称未設定:2008/12/26(金) 19:24:17 ID:cvSHjy+L0
CarbonPortingJ.pdf
98名称未設定:2008/12/27(土) 00:40:35 ID:yFeuNLXm0
99名称未設定:2009/01/21(水) 01:05:15 ID:HPJauNGF0
2009年もカーボン。
100名称未設定:2009/01/21(水) 04:11:21 ID:59mWQ/jA0
ココアもいいけどカーボンもね。

おせちを食べているとカレーも食べたくなるようなもので... ってあれは単に某食品会社
の戦略か。
あ、別に Cocoa がおせちで Carbon がカレーだとは全く思わないw
101名称未設定:2009/02/16(月) 15:12:43 ID:hTfS9Van0
保守ってみる
102名称未設定:2009/02/16(月) 23:51:28 ID:jGB3J9J50
CFArrayをCFReleaseすると中身も開放されるの?
103名称未設定:2009/02/17(火) 00:36:19 ID:a/gWfwad0
CFArray にものを突っ込むと CFRetain されて、
CFArray が解放されると突っ込まれてあったものも CFRelease されます。
その際に retain count が0になれば実際にメモリも解放されます。
104名称未設定:2009/02/17(火) 00:46:56 ID:GduW6uST0
ありがとう
105名称未設定:2009/02/17(火) 01:13:23 ID:a/gWfwad0
メモリ管理はわかったふりをしてるといずれ意味不明なクラッシュがでて
わけわからないことになるので、きちっと勉強しておいたほうがいいと思います。
http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html
のあたり参照。
106名称未設定:2009/02/25(水) 10:40:22 ID:+oH9A1z00
cocoa使わないで簡単にxmlを読みこむ方法でよいのって何すか?
107名称未設定:2009/02/25(水) 10:56:10 ID:+oH9A1z00
あ、libXML2ってのを使うのが一般的なのかw
108名称未設定:2009/02/25(水) 14:23:44 ID:Ddy7wMIp0
>>106
自分でパーサを書く。

libxxxとかはcocoa系じゃないのかね。
109名称未設定:2009/03/24(火) 02:19:34 ID:gu/kvSc60
保守する必要は感じない
110名称未設定:2009/03/24(火) 04:07:52 ID:utgBIvoO0
111名称未設定:2009/05/04(月) 13:44:04 ID:Bi3DcfWx0
Cocoaを使おうぜ
112名称未設定:2009/05/25(月) 15:54:23 ID:lZqy4XeB0
Cocoa から CF にやってきました。CFData の取り扱いについて、訳の分からない
状態になってます。原因を考えたのですがよく分からないので、お教えください。
MyStructure* hoge = (MyStructure*) CFDataGetMutableBytePtr(dataRef);
として、構造体hoge をとってきました。dataRef は CFMutableDataRef です。
で、hoge のメンバー(属性?)に最初にアクセスしたときには、入っている値が
ちゃんと取れてくるのですが、何度かアクセスすると、まともな値が返って
来ません。ポインタを見ても、変な所をさしている訳でもなく…

異常な値に変更される前と後の間で、
hoge->state = 3;
というようなことをしているのですが、これが原因なのでしょうか?
言い換えれば、CFMutableData の中身を直接いじった事が原因でしょうか?
よろしくお願いします。
113名称未設定:2009/05/25(月) 16:45:01 ID:LXUQweOx0
何で構造体のデータをわざわざCFDataに入れてるのかわからないけど、構造体の
アライメントは整合性が取れてるんだろうね?
114112:2009/05/25(月) 18:43:20 ID:lZqy4XeB0
CFData に入れているのは、管理し易いようにです。速度稼ぐ為に、Cocoaの
インスタンスの、必要な変数のみを構造体で表現して全ての計算をCでやって、
Cocoa へ返そうとしています。

アライメントは分かりません。その辺ちゃんと勉強していないのですが、
次のような事をしています。
// cocoa で MyStructure と長さ n の MyPoint 配列を確保。
size_t buffSize = sizeof(MyStructure) + sizeof(MyPoint)*n;
void *buffer = (void*)malloc(buffSize);
MyStructure *hoge = (MyStructure *)buffer; // 構造体
MyPoint *points = (MyPoint*)(hoge + 1); // 構造体
 …それぞれ値を入れる処理
id data = [NSMutableData dataWithBytesNoCopy:buffer length:buffSize];

で、data をCで処理しようとしています…違ってますでしょうか?
違っていたら、アライメントについて参考になるようなサイトを教えて
頂けると幸いです。
115名称未設定:2009/05/25(月) 18:53:36 ID:Fv2yl/DI0
なぜNSMutableDataに入れる必要があるのかさっぱりだ
116名称未設定:2009/05/25(月) 18:59:44 ID:5QoSqsNJ0
> CFData に入れているのは、管理し易いようにです。
管理出来てないから困ってるように見えるんだけど

全部Cでやったほうが良くない?
117112:2009/05/25(月) 19:46:25 ID:lZqy4XeB0
げっ!べつのところで詰まっていたのが原因?のようです。動き出しました…orz
>>113, 115, 116
大変申し訳ないです。すみません。
>>116
データ構造を見直してみて、全部Cで書けるかどうか見当してみます。

みなさま、ありがとうございます&申し訳ありません。
118名称未設定:2009/05/25(月) 21:56:14 ID:LMaily4p0
>>114
MyPoint *points = (MyPoint*)(hoge + 1); // 構造体
これ MyStructure構造体 の後ろに MyPoint配列 だから、
MyPoint *points = (MyPoint*)(buffer + sizeof(MyStructure)); // 配列
じゃね?
119118:2009/05/25(月) 23:02:19 ID:LMaily4p0
サーセン。
120名称未設定:2009/07/03(金) 05:41:01 ID:9GezahPc0
保守も兼ねてageます。
NSWindowの [[window contentView] subViews]; のように
windowRefからwindowに置かれているview達を取得するにはどうしたら良いでしょうか。
carbon触り始めて浅いのですっとんきょうな質問でしたらすいません。
121名称未設定:2009/07/03(金) 07:30:20 ID:S95IE4sX0
122名称未設定
ありがとうございます。
勉強させて頂きます。