1 名前:名無しさん@お腹いっぱい。 [2005/09/22(木) 20:29:34 ] UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド 過去スレ(プログラム技術板) Part6 pc8.2ch.net/test/read.cgi/tech/1116908090/ Part5 pc8.2ch.net/test/read.cgi/tech/1105723117/ Part4 pc5.2ch.net/test/read.cgi/tech/1095843584/ Part3 pc5.2ch.net/test/read.cgi/tech/1085930894/ Part2 pc5.2ch.net/test/read.cgi/tech/1055110889/ Part1 pc2.2ch.net/tech/kako/992/992057422.html Part3ミラー makimo.to/2ch/pc5_tech/1085/1085930894.html Part2ミラー makimo.to/2ch/pc5_tech/1055/1055110889.html 関連スレ Cygwin使っている人いますか? その14 (UNIX板) pc8.2ch.net/test/read.cgi/unix/1107587275/ Cygwin使っている人いますか? 3 (Windows板) pc8.2ch.net/test/read.cgi/win/1090131123/ 関連板 Linux板 pc8.2ch.net/linux/ プログラム技術板 pc8.2ch.net/tech/
750 名前:名無しさん@お腹いっぱい。 [2009/11/11(水) 23:53:47 ] >>748 >>747 が正しい可能性が高いと思います。 >>747 を受けて、既にログ出力用の関数が用意されていないかと探してみたんですが、 Makefile.amに 「このソースファイルはライブラリに使える」 「このソースファイルはデーモンとテストアプリに使える」みたいな 記述があって、ログ出力の関数は後者の中にしかありませんでした。 前者だとソケットプログラミングしないと中の動きは見れないようです。
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/11(水) 23:56:58 ] >>748 知ったかぶりに振り回されないように注意。 %sに無効ポインタ渡してるのが原因なら質問するまでもなく自己解決する。
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 00:04:09 ] EINTRは関係ない。 error 4は↓の40行目 PF_USER(ユーザモードでのページフォルト) www.gelato.unsw.edu.au/lxr/source/arch/x86_64/mm/fault.c segfaultが発生してると言っているのにEINTRとか馬鹿杉。無能杉。
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 00:39:45 ] 何か嫌な事でもあったのか?
754 名前:名無しさん@お腹いっぱい。 [2009/11/12(木) 01:03:13 ] >>748 ,751 確かに無効ポインタを渡している可能性はないと思います。 最初に質問する前に既に念のためfprintf (fp,"aaaa%s","aaa");だけで試していました。
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 01:08:23 ] >>744 で答えは出てるんじゃないの。 取り敢えずスタックダンプでも見てみたら。
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 06:39:13 ] >>744 って全然答えになってないが、、
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 07:31:26 ] EINTRとか言い出た知ったかクンの弁明は? > いや、システムコールの呼び出し自体が問題になってる。 爆笑。もはや芸術的な勘違い。
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 08:52:50 ] 何か嫌な事でもあったのか?
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 19:45:04 ] >>754 可能性の高い順 1位 無効ポインタを渡しているのを見落としている。 2位 stdin/stdout/stderrが既にクローズされている。 3位 fprintfが利用している関数内にfprintfを突っ込んだので無限再帰になっている。 <中略> 4294967296位 error 4はEINTR。システムコールの呼び出し自体が問題になっている。
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 19:51:34 ] ここには良いエスパーは居ないみたいだから地道にデバッグするのが良いと思うぜ
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 20:17:10 ] >>759 >無効ポインタを渡しているのを見落としている は、本人がすでに否定。 >stdin/stdout/stderrが既にクローズされている クローズされてるstdout等を呼んでもエラーになるだけでセグフォはしない。
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 20:24:13 ] stdioライブラリのバッファ等の干渉を避けるため、 fprintf()の代わりに write(2, "hoge?n", 5); を使って問題を切り分けとけ。
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 20:30:09 ] > は、本人がすでに否定。 本人は否定しているが、その上で見落としているという意味だよ。 > クローズされてるstdout等を呼んでもエラーになるだけでセグフォはしない。 大分前にglibcでセグメントフォルトした気がする。記憶違いかもしれないが、 4294967296位よりは可能性高い。
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 20:33:06 ] 一緒だよ
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 21:33:32 ] >Linux環境でライブラリの中の動きを見ようと思っています。 >ライブラリのソース(*.c)の頭の#include <stdio.h>を追加し、fprintfを沢山追加してコンパイルしました。 >すると、そのライブラリを使用する一部のコマンドがsegfaultするようになりました。 どのライブラリに対してそれをやったのか知らんが fprintfをどこでも使えると思ってるのがそもそもの間違い
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 21:38:22 ] エスパーなら、どのライブラリの中からfprintf()を呼べばsegfaultが再現するか、 ずばり言い当てるべきだな。 (無効ポインタとか、クローズ済みとか的外れなこと言ってる奴は無視して)
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 22:02:02 ] 知らんがな(´・ω・`)
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 22:17:29 ] システムコールの呼び出し自体が問題だからだ。EINTRが明確に示している。
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 22:58:41 ] >>743 > error 4 in libc-2.10.1.so[xxxxxxxxx]と出力されています。 この前後をしっかりとそのままコピペしてはどうだろうか。
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 23:12:40 ] すみませんが詳しい方のみ回答をお願いします
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 23:17:12 ] もう質問者も見てないだろw
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 23:21:46 ] >>769 ググれば沢山ヒットする。 EINTRには笑うが、それを更に推し進めて>>747 の結論に至るとは笑いを通り越した 芸術的な域に達している。 >>770 詳しくない奴の方が面白い。>>747 とか。
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 23:31:16 ] 何か嫌な事でもあったのか?
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/12(木) 23:45:35 ] お前の破れかぶれのギャグで全部吹き飛ぶよ。
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 00:42:24 ] BSDの法則 「どうでもいい話題ほど盛り上がる」
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 01:06:19 ] > いや、システムコールの呼び出し自体が問題になってる。 > 「再スタート可能なシステムコール」あたりでググって、 > 読んでもらえば分かるけど、理解するのはちょっと厳しいかもね。 何度見ても笑えるな。
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 01:40:58 ] 盛り上がってるのは一人だけっぽいけどなw
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 02:10:50 ] 盛り上がってもらって困るのも一人だけだけどな。
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 02:59:55 ] 多分君が言ってる人はこのスレにはもう居ないと思うがなw
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 20:44:30 ] そうか、殺伐としたスレにもっと潤いを振りまいて欲しい。 > いや、システムコールの呼び出し自体が問題になってる。 > 「再スタート可能なシステムコール」あたりでググって、 > 読んでもらえば分かるけど、理解するのはちょっと厳しいかもね。
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 20:55:56 ] 俺は粘着してる奴を眺めてるのが何より愉しいぜ
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/13(金) 22:15:46 ] そうか、じゃあ愉しんでくれ。 三行目が実に芸術的だ。「理解するのはちょっと厳しいかもね。」 > いや、システムコールの呼び出し自体が問題になってる。 > 「再スタート可能なシステムコール」あたりでググって、 > 読んでもらえば分かるけど、理解するのはちょっと厳しいかもね。
783 名前:名無しさん@お腹いっぱい。 [2009/11/25(水) 21:12:19 ] exit()と -exit()ってどう違うんですか? というか、違うんですか??
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/25(水) 21:21:11 ] exit(3)と_exit(2)のことなら、ライブラリ関数とシステムコールの違い
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/25(水) 21:25:07 ] いいえ、どちらも exit(1)を呼んでます><
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/25(水) 21:38:37 ] 知らないなら黙ってればいいのに。
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/25(水) 22:01:35 ] 始まったなw
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/25(水) 22:12:02 ] 期待しているようだったから。
789 名前:名無しさん@お腹いっぱい。 [2009/11/26(木) 20:37:31 ] >>783 誰もわからないんですか? やっぱ同じなんでしょうか??
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 21:03:24 ] exit(3)はvoid exit(int)と宣言されているので、 exit()は引数不一致でエラー -exit()はそれに加えて単項マイナスでもエラー
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/11/26(木) 21:20:50 ] 後方互換性のため、exit(3)は int型でも使用できます。
792 名前:名無しさん@お腹いっぱい。 [2009/12/11(金) 01:46:58 ] aio_writeって ・パイプやソケット仁対して使える? ・(使える場合、)aio_offsetに何入れればいい? ・(使える場合、)aio_writeを発行した順に書き込まれることは保証される?
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/11(金) 08:48:39 ] O_APPEND なfdで使う場合、aio_offsetは関係ない。
794 名前:名無しさん@お腹いっぱい。 [2009/12/26(土) 21:34:15 ] Cで、chdir文を実行した時、これを保存するには何か設定が必要なんですか?
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 01:05:42 ] 「これ」って何?
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 02:52:31 ] カレントディレクトリの状態、じゃないかな? 程よくエスパーすると、カレントディレクトリの状態はプロセス毎に持っ ていて、親プロセスのカレントディレクトリを子プロセスから変更する ことはできない。
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 03:13:38 ] 初期実装の失敗談にそういう笑い話があったな。 「cd を外部コマンドにしようとしてよく考えたら駄目だった」って奴w
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 08:35:05 ] プロセスとかそういうことはやってません。 単独のプログラムです。 ひきつづきchdirの保存方法の回答をお願いします。
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 09:06:31 ] 先ずはググれよ。英語ならマトモな情報あるかもよ?
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 09:18:41 ] 何保存するのよw
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 09:41:47 ] ユ○ゲラーも真っ青なエスパーの俺が回答しよう まず「保存」の意味だが、こういうことだろ? ore@localhost:anywhere$ ./my_app (my_app内でchidir()を実行) ore@localhost:somewhere$ ← 別の場所に移動している で、>>796 はこれを「できない」と言っている。 (親プロセス(シェル)のカレントディレクトリは子プロセス(my_app)からは変更できない) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 09:54:58 ] ですから、子プロセスは作ってないんです。同じ端末ですから。
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 09:56:06 ] まったくお前らはエスパーとして半人前だな。 >>794 の chdir「文」を見落としている。 つまり、これは C言語でなく、Cシェルスクリプトだったんだよ! >>794 は Cシェルスクリプトを作り、その中で chdir でディレクトリを 変更したが、スクリプトが終わるとディレクトリが変わってないことの 対策を訊ねているんだ。 まあ、>>801 は惜しかったが「出来ない」って回答じゃあ減点だね 正解は、source を使え、だ!
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 10:03:48 ] {chdir();} こうすればCでも文になるぞ!
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 10:07:46 ] >>802 > ですから、子プロセスは作ってないんです。同じ端末ですから。 はぁ?
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 10:10:23 ] なりすましの釣りだろw
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 19:48:42 ] >>805 作るとできちゃうの違いを認識せよ
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 19:58:21 ] ですから、子プロセスは出来てないんです。同じ端末ですから。
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/27(日) 20:03:18 ] バカのふりをするBOTを走らせたまま放置するのは迷惑なのでやめてください>作者
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/28(月) 22:30:39 ] /dev/kmemで親プロセスのカレントディレクトリを直接書き換えれば可能。
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/29(火) 09:41:26 ] vnode の参照カウンタもちゃんと上げとかないとな。 排他とか大変そうだ。
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/30(水) 00:54:14 ] あれだけスパコン叩いてたレンポウの息子が改造ゲーム機やってたって笑えるw 子供がレンポウのPCでP2Pも使ってる可能性大。ひろゆき降臨してるぞw 【違法】仕分人・参議院議員の蓮舫さんが息子のマジコン使用をインターネットで暴露「学習しました!息子を説教中」 tsushima.2ch.net/test/read.cgi/newsplus/1262098965/
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/12/30(水) 08:56:22 ] プラス民は巣から出てくるな
814 名前:名無しさん@お腹いっぱい。 [2010/01/09(土) 11:11:27 ] malloc()って、たとえfree()を呼んでもライブラリレベルで未使用リストに 登録されるだけで、カーネルレベルではメモリ解放されないじゃないですか。 これを、free()後、ブレーク領域の後半部分で本当に未使用の連続領域について brk()とかでカーネルレベルでメモリ解放させる方法はないですか?
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 12:44:13 ] vipw とか crontab とか visudo や、 あるいは VCS の commit 時の commit ログを記述するときなど、 何か処理をする前にエディタを起動して編集終了したらそれを読み込む、 みたいな処理ってよくありますよね。 あれを自分のツールでもやりたいんですが、 既にライブラリ化されているものがあれば教えてください。 ツールは Ruby で作ろうと思っているんですが、 他の言語でも自作の際の参考になると思うのでかまいません。
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 12:47:34 ] それくらい作ろうと考えずに、ます探す。しかも自分で検索しないで。 これがruby脳か。
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 14:09:33 ] >>814 free()で解放されないとは限らない。 例えばglibcでmalloc()で確保されている領域の場合、 free()で解放される可能性がある。 ただその辺りの制御をしたいなら、自分で mmap なり使って 領域管理をするのが、てっとり早いと思う
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 14:11:07 ] s/例えばglibcでmalloc()で/例えばglibcでmmap()で/
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 14:38:26 ] >>817 えっと、それは知ってるんですが(苦笑) 自分でmalloc()を再実装したりせずに 現状のmalloc()に直接メモリ解放を指示する方法の質問です。 >>818 glibcなら、mmap()だけじゃなくsbrk()で確保されている領域でも 場合によってはfree()で解放される場合があります。
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 14:42:06 ] メモリアロケータくらい自分で作れば良いじゃん。苦笑してる間に実装出来ると思うが。
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 18:04:46 ] >>814 dlmalloc なら mallopt(M_TRIM_THRESHOLD, 0) でそうなる。 dlmalloc ベースの実装なら似たようなオプションが使えるかもしれない。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 18:11:53 ] 実行環境に依存する話なのに実行環境が書いてないから釣り
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 18:15:03 ] メモリアロケータは好きなものに置き換える事が可能なので、 環境依存とは言えない。
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 19:38:40 ] 置き換えも許容したら余計話が発散しますがな
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/09(土) 23:05:35 ] LD_PRELOAD 等で malloc を置き換えるのは割と一般的な話じゃないの。
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/10(日) 00:50:07 ] >>816 ruby脳とか言われるのは癪ですが、 何でもまずは自分で作ろうとせずに探すべしとおじいちゃんに言われましたもので。 自己解決しましたのでもういいです。
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 10:50:41 ] 自分で探す努力をしない姿勢を批判されてるのになぁ 開き直りもいいとこだな
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 10:53:55 ] それがruby脳
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 10:59:00 ] >>827 「開き直り」の用法を間違えてます。 自己解決 → 開き直りではない 解決してないけど解決する必要はないと言い張る → 開き直り
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 11:28:49 ] > 態度を改め、まじめに応対する。また、観念してふてぶてしい態度に出る。居直る。 > 急に態度を変えてきびしくなる。覚悟をきめて、ふてぶてしい態度に変わる。いなおる。
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 21:41:31 ] 言葉遊びならどっかいってやれよ
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 22:14:14 ] 言語遊びも似たようなもんだ。
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 22:15:20 ] また開き直ってるよこの基地外
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/11(月) 22:44:12 ] 「開き直る」の用法を間違えています。
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/12(火) 17:40:04 ] うへー この粘着っぷりは女だな きめえ
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 14:37:21 ] >>835 おまえがきもい
837 名前:名無しさん@お腹いっぱい。 [2010/01/21(木) 15:48:46 ] (1)最大10人の、3科目(数学、英語、国語)の成績データ(整数)がある。 最初に人数を入力し、そのあと人数分の3科目の成績を入力すると、各科目の平均点を小数点以下2桁で表示するプログラムを作成しなさい 。 ただし、10を超える人数を指定した場合にはエラーメッセージを表示して終了すること。 (2)個々の成績を格納する配列を1つの2次元配列に改造し、動作を確認しなさい。
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 15:55:53 ] >837 学校のプログラム課題の質問にはお答えいたしかねます
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 19:31:04 ] >>837 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXNUM 10 #define MAXDAT 3 #define MAXBUF 4096 int main(int ac, char **av) { int i, j, k; int points[MAXDAT][MAXNUM + 1]; char buf[MAXBUF]; char *dat[] = {"Mathmatics", "English", "Japanese"}; fprintf(stdout, "Number of persons = ? "); fgets(buf, sizeof(buf), stdin); sscanf(buf, "%d", &i); if(i < 0 || i > MAXNUM){ fprintf(stdout, "Please input number 1 - 10\n"); return 1; } for(j = 1; j <= i; j++){ fprintf(stdout, "Person %d 's Mathmatics, English, Japanese = ? ", j); fgets(buf, sizeof(buf), stdin); sscanf(buf, "%d, %d, %d", &points[0][j], &points[1][j], &points[2][j]); fprintf(stdout, "%d, %d, %d\n", points[0][j], points[1][j], points[2][j]); for(k = 0; k < MAXDAT; k++){ if(j == 1){ points[k][0] = 0; } points[k][0] += points[k][j]; } } for(k = 0; k < MAXDAT; k++){ fprintf(stdout, "Average %s = %.2f\n", dat[k], (double)points[k][0] / i); } return 0; }
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 20:29:02 ] #!/usr/bin/awk -f BEGIN { getline; NR = 0; if ($1 > 10) { print("Too many recs"); exit }} { for (i = 1; i <= 3; ++i) sum[i] += $i } END { for (k in sum) printf("%.2f ", sum[k] / NR); printf("\n"); }
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/21(木) 20:30:42 ] 少なくともループ使わないぐらいのボケはかますべきだろ
842 名前:名無しさん@お腹いっぱい。 [2010/01/23(土) 22:22:26 ] ソラリスだけコードを変えたいんですが、 #ifdef __solaris__ ってやっても無視されます、ヘルプお願いします
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/23(土) 22:28:28 ] >>842 docs.sun.com/app/docs/doc/820-1209/bjapy __sun を使えばオケ。
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 07:52:48 ] >>843 それだと、SunOSまで含まれるから不可。 (dosc.sun.comって間違いあるんだね) 正しくは、買収されたので __oracle__ を使う。
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 13:11:04 ] >>844 uname すれば分かりますが Solaris は SunOS ですよ。 間違い易いポイントだとは思いますが。
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 13:47:23 ] >>845 だから、SunOSを除くSolarisだけで場合分けしたいんだよ。 __sunは、SunOSでもSolarisでも定義されてる。だから__sunは不可。
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 14:04:36 ] __SunOS_n_nで列挙しろ。
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 14:19:18 ] >>846 だから、SunOS を除く Solaris という物は存在しないんだよ。 お前さんは質問者じゃないんだろ。勝手に不可とか決めるなよ。 docs.sun.com は間違っていないし、今時 Solaris じゃない SunOS を除外する理由なんて無いだろ。 ネタだとしても、次からはもっと面白いレスを頼みますよ。
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 14:28:36 ] >>846 #if defined(__sun) && !defined( __SVR4)
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/24(日) 15:08:06 ] >>849 ありがとうございました。できました。 >>843 >>845 >>847 >>848 すみませんが、ありがたくありませんでした。