[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 12:29 / Filesize : 215 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

UNIXプログラミング質問すれ Part5



1 名前:名無し募集中。。。 [05/01/15 02:18:37]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
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使っている人いますか? その13 (UNIX板)
pc5.2ch.net/test/read.cgi/unix/1099157755/
Cygwin使っている人いますか? 3 (Windows板)
pc5.2ch.net/test/read.cgi/win/1090131123/

関連板
pc5.2ch.net/unix/
pc5.2ch.net/linux/


549 名前:デフォルトの名無しさん mailto:sage [05/03/14 21:44:51 ]
関係ない話しししはよそでおねがいします

550 名前:デフォルトの名無しさん [05/03/14 21:54:35 ]
かたいこと言うな

551 名前:デフォルトの名無しさん mailto:sage [05/03/14 22:00:48 ]
UNIXはいまだに基本がC言語なのがいかんと思う。
その上信頼性もクソもないshで書きなぐられたシステムなんか保守したくないだろ?

552 名前:デフォルトの名無しさん mailto:sage [05/03/14 22:03:31 ]
GNUマンセー

553 名前:デフォルトの名無しさん mailto:sage [05/03/14 22:04:15 ]
そういや某国はUNIXに進出しようとして失敗したな。

554 名前:デフォルトの名無しさん [05/03/14 22:33:54 ]
>>551
シェルスクリプトは滅多にエラーにならないからエラー処理は
必要なくてとても信頼できるらしいです
うちのUNIX暦20年の課長(40)が言ってました
エラーになっても気付いてないだけじゃないんですか、と言おうと
しましたがやめておきました

555 名前:デフォルトの名無しさん mailto:sage [05/03/14 22:44:22 ]
何について信頼できないとか言ってるのかよく
分からないんだが、シェルスクリプトだって
エラー処理ぐらいできるし、俺はやってるよ。

556 名前:デフォルトの名無しさん mailto:sage [05/03/14 22:51:19 ]
たぶんそれぞれのエラー処理の意味がちがってるとおもう

557 名前:デフォルトの名無しさん mailto:sage [05/03/14 23:21:09 ]
>>508
コンパイラですかインタプリタですか?
その自作言語の実行スタックはどういう構成でしょう?

schemeのインタプリタ、コンパイラは参考になると思います。



558 名前:デフォルトの名無しさん mailto:sage [05/03/15 00:05:48 ]
すみません、質問させてください。
こういうプログラムを書いたのですが、
#include <iostream>

main()
{
cout << "hello";
}


gcc test.cppと書いてコンパイルすると、

/tmp/ccHDOsZp.o(.text+0x19): In function `main':
: undefined reference to `std::cout'
/tmp/ccHDOsZp.o(.text+0x1e): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std
::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits
<char> >&, char const*)'
/tmp/ccHDOsZp.o(.text+0x4a): In function `__static_initialization_and_destructio
n_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccHDOsZp.o(.text+0x79): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccHDOsZp.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld はステータス 1 で終了しました

というエラーがでるのですが、C++のコンパイルの仕方が間違っているのでしょうか。



559 名前:デフォルトの名無しさん mailto:sage [05/03/15 00:08:52 ]
>>558
いいえ

560 名前:デフォルトの名無しさん mailto:sage [05/03/15 00:12:01 ]
g++もしくは-lstdc++

561 名前:558 mailto:sage [05/03/15 00:12:54 ]
ごめんなさい、std::を忘れてました。

>>559
対処法はあるのでしょうか・・・。よかったら教えてください。

562 名前:デフォルトの名無しさん mailto:sage [05/03/15 00:22:55 ]
スレ違い。
gccスレで聞け。

563 名前:デフォルトの名無しさん mailto:sage [05/03/15 00:39:38 ]
>>559は嘘。
コンパイルのしかたが間違っとる。

>>560が書いているように、gcc じゃなくて g++ か
あるいは c++ コマンドを指定する必要がある。


564 名前:デフォルトの名無しさん mailto:sage [05/03/15 01:11:53 ]
ここは盥回しスレですか。

565 名前:デフォルトの名無しさん mailto:sage [05/03/15 09:44:25 ]

盥・・・すごい字があるんだな、知らなかったヨ

566 名前:デフォルトの名無しさん [05/03/15 10:03:09 ]
もう10

567 名前:デフォルトの名無しさん mailto:sage [05/03/15 14:47:14 ]
>>558
ソースコードが間違ってます。

冒頭で、

using namespace std;

とするか、std::coutとするのが今ん流儀です。

それ以外は処理系依存の動作。




568 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:07:05 ]
C++の名前空間がうんこなのは仕様です。

569 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:22:24 ]
>>577
それは既に>>561で本人が気づいてる

570 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:39:47 ]
>>577
やーいばーか

571 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:41:58 ]
>>577
とんだ災難だとは思うがよろしく頼む。

572 名前:567 mailto:sage [05/03/15 16:15:53 ]
俺が>>577>>567と同じ内容を書いて大団円。


573 名前:デフォルトの名無しさん mailto:sage [05/03/15 20:56:32 ]
>>572
お前おもしろいな

574 名前:デフォルトの名無しさん [05/03/16 01:00:29 ]
574

575 名前:デフォルトの名無しさん [05/03/16 01:01:00 ]
575

576 名前:デフォルトの名無しさん [05/03/16 01:01:41 ]
576

577 名前:デフォルトの名無しさん mailto:sage [05/03/16 01:03:40 ]




578 名前:デフォルトの名無しさん mailto:sage [05/03/16 01:08:34 ]
>>577
ネタもないのに書くなYO!

579 名前:567 mailto:sage [05/03/16 03:04:40 ]
>>587
ソースコードが間違ってます。

冒頭で、

using namespace std;

とするか、std::coutとするのが今ん流儀です。

それ以外は処理系依存の動作。

って書こうと思っていたのにッ…orz


580 名前:デフォルトの名無しさん mailto:sage [05/03/16 03:08:27 ]
もうこのくらいでやめとこうや。
な?

581 名前:デフォルトの名無しさん mailto:sage [05/03/16 04:20:47 ]


582 名前:デフォルトの名無しさん [05/03/16 11:16:00 ]
age

583 名前:デフォルトの名無しさん [05/03/17 16:47:56 ]
gdb でデバッグするために
gcc で -g をつけてデバッグ情報つきの
オブジェクトファイルを作ってから
リンクしました.

ところができた実行ファイルを gdb しても
デバッグできません.
たとえば list しても

No symbol table is loaded. Use the "file" command.

とでます.

-g をつけるとたしかに .o ファイルはサイズが増えていますが,
最終的にリンクすると,できた実行ファイルは -g を
つけようとつけまいとなぜか変わらないんです.

なぜでしょうか?


584 名前:デフォルトの名無しさん mailto:sage [05/03/17 16:53:20 ]
リンクするときに-gをつけてないとか。


585 名前:583 [05/03/17 16:58:50 ]
>>584
リンクするときに -g つけてもつけなくても結果は同じです

586 名前:デフォルトの名無しさん mailto:sage [05/03/17 17:10:29 ]
リンクするときに-sをつけているとか。


587 名前:583 [05/03/17 17:21:53 ]
>>586
たしかにリンクに -s がついていて
これをはずすとデバッグできました
他人が書いたソースなもんで

man 見たところ -s に対する説明がありませんね
-S はありますが.
これはなんでしょうか?



588 名前:デフォルトの名無しさん [05/03/17 17:34:29 ]
少しは上の方を見ろよ。

589 名前:429 [05/03/17 20:46:23 ]
>>587
> man 見たところ -s に対する説明がありませんね
% man ld
<snip>
-s
--strip-all
Omit all symbol information from the output file.

-S
--strip-debug
Omit debugger symbol information (but not all symbols) from the
output file.

<snip>
って, 書いてあるが...


590 名前:デフォルトの名無しさん mailto:sage [05/03/17 20:48:22 ]
わかりにくいなあ
なあ!

591 名前:デフォルトの名無しさん mailto:sage [05/03/17 21:14:43 ]
Solaris のコンパイラ (Forte, Sun ONE Stuido) のマニュアルには
ちゃんと書いてあるよ。

     -s   Removes all symbolic debugging information from the
          output object file. This option is passed to ld(1).
          This option cannot be specified with -g.

gcc 場合、マニュアルには確かにないねえ。
しかし gcc の info を見ると実は書いてある。
GNU 系の場合、これはありがち…
だから GNU は(ry


592 名前:デフォルトの名無しさん mailto:sage [05/03/17 21:19:38 ]
>>591
> gcc 場合、マニュアルには確かにないねえ。
> GNU 系の場合、これはありがち…

おれは, 一時期, gcc だと obsolete になったのかと思って,
-Wl で ld に渡してたぞ.

だから GNU は(ry


593 名前:デフォルトの名無しさん [05/03/17 21:23:07 ]
>>591-592

594 名前:デフォルトの名無しさん [05/03/17 22:16:12 ]
1から100までの自然数を素因数に分解して出力しなさい

誰かC言語でプログラム書いてもらえませんか?

595 名前:デフォルトの名無しさん mailto:sage [05/03/17 22:18:19 ]
>>594
俺様に命令するな!!!

596 名前:デフォルトの名無しさん [05/03/17 22:19:29 ]
たのみますm(__)m

597 名前:デフォルトの名無しさん mailto:sage [05/03/17 22:25:36 ]
>>594
最高速なアルゴリムを示そう。

int main()
{
fputs("2: 2\n"
"3: 3\n"
"4: 2, 2\n"
... 自分で埋めろ
, stdout);
return 0;
}




(1も素因数分解できるんだっけ?素因数ってもう忘れた)



598 名前:デフォルトの名無しさん mailto:sage [05/03/17 22:34:54 ]
うちの gcc の man page には書いてあるんだが…

> -s Remove all symbol table and relocation information from the exe-
> cutable.

gcc-3.3.3 です。





599 名前:デフォルトの名無しさん mailto:sage [05/03/17 22:39:41 ]
>>597
それって stdio のせいで遅くね?

600 名前:デフォルトの名無しさん mailto:sage [05/03/17 23:00:46 ]
writeはエラー処理がめんどくさい。
全部書けなかった時とか、EINTRとか。


601 名前:デフォルトの名無しさん mailto:sage [05/03/17 23:09:51 ]
#include <stdlib.h>
#include <stdio.h>
#define BUF_SIZE 256
int main(void)
{
int i;
char buf[BUF_SIZE];

for (i = 1; i <= 100; i++) {
snprintf(buf, BUF_SIZE, "factor %d", i);
system(buf);
}

return 0;
}


602 名前:デフォルトの名無しさん mailto:sage [05/03/17 23:14:47 ]
>>598
うちはgcc-2.95.3ですた。
gcc-3 になって心を入れ換えた?

603 名前:デフォルトの名無しさん mailto:sage [05/03/18 00:16:34 ]
>>600
fputs() でも一緒だと思うが...。

604 名前:デフォルトの名無しさん mailto:sage [05/03/18 01:20:27 ]
うんにゃ。
少なくとも全部書けなかった場合については、
fputs() は、内部で再試行してくれます。

むか〜しの SVR4 が、これをやってくれなくて欝だった
ような覚えがあるが。


605 名前:デフォルトの名無しさん mailto:sage [05/03/18 02:55:44 ]
>>604
初期のSVR4はsignalの振る舞いが、
defaultではBSD風じゃなくて、SVR3風だった。すぐに変ったけど。
だからsystem call中に、signalを受けると、エラーで失敗した。
ライブラリもsystem callに再入せず。(BSDセマンティクスだとする)


606 名前:じじー mailto:sage [05/03/18 04:17:10 ]
>>605
> defaultではBSD風じゃなくて、SVR3風だった。すぐに変ったけど。
これは、今でもそうじゃない?
signal(3) はデフォルトでは SA_RESTART しない筈。

で、ここで書いた write(2) の再試行ってのはシステムコール
リスタートの話じゃないの。それならまだ許せる。
初期の SVR4 では、write(2) が第3引数よりも少ない正の値を
返した場合 (つまり partial write の場合)、残りを単に捨て
ちゃってたような気が… つまり完全にバグ。


607 名前:じじー mailto:sage [05/03/18 04:18:58 ]
補足。
partial write の残りを捨ててたのは stdio ライブラリね。



608 名前:デフォルトの名無しさん mailto:sage [05/03/19 12:45:25 ]
>> 592 さん
gcc の man には こう書いてありますが。

The information in this man page is an extract from the
full documentation of the GNU C compiler, and is limited
to the meaning of the options.

This man page is not kept up to date except when volun­
teers want to maintain it. If you find a discrepancy
between the man page and the software, please check the
Info file, which is the authoritative documentation.

609 名前:デフォルトの名無しさん mailto:sage [05/03/20 00:43:02 ]
>>601
え  れ  が  ん  と(ニコリ

610 名前:デフォルトの名無しさん [05/03/20 02:47:45 ]
標準C言語スレで聞いたら怒られたのでこちらで質問させてください。
mmapの動作に関する質問です。

//#include *は省略
#define SIZE 536870912
int main() {
void *map;
int fd = open("tmp_file", O_RDWR);
size_t size = (SIZE / getpagesize() + 1) * getpagesize();

map = mmap(0, size, PROT_READ | PROT_WRITE, MAP_FIXED, fd, 0);
munmap(map, SIZE);

return 0;
}

というプログラムを動かすとバスエラーになってしまいます。
また、変数sizeを使わずにSIZEを使うとセグメントエラーになります。
mmapはファイルをメモリに全部読み込まずに必要な分だけキャッシュする
とmanに書いてあるように読めたのですが、間違いでしょうか。
環境はFreeBSD 5.3R, gcc 3.4.2です。メモリは512MBです。

611 名前:デフォルトの名無しさん mailto:sage [05/03/20 03:15:56 ]
商用UNIXだったら分かるんだけどなー。

612 名前:デフォルトの名無しさん mailto:sage [05/03/20 03:45:13 ]
>>610
mmapに渡してるsizeとmunmapに渡してるSIZEは同じなのか?
つーかちゃんとエラーチェックしろよ。
とりあえずstraceでもしてみれば?

613 名前:デフォルトの名無しさん mailto:sage [05/03/20 04:06:01 ]
>>610
> #define SIZE 536870912

これって二進で100000000000000000000000000000、30bitじゃん。

幾らなんでもでかいだろ。
そのカーネルはユーザ空間どれくらいとれるの?
詳しいところ調べるの無理だったら、UNIX板のFreeBSD質問スレが良いかも。

614 名前:デフォルトの名無しさん mailto:sage [05/03/20 06:18:36 ]
問題は>>613>>612が指摘している点もあるが、それ以前に、
第一引数が 0 なのに MAP_FIXED を指定している点もある。
0番値から連続で512MBも置き換えたら、現在実行している
プログラムからなにから全部置き換えになるから、そりゃ
コアダンプもするだろ。

それから、flags には、必ず MAP_PRIVATE か MAP_SHARED
のどらかか片方は指定するようにしろ。

あと、>>612 が言うように、システムコールがエラーで返って
ないか調べて、エラーだったら perror() なりerr() する習慣
をつけろ。基本中の基本。

これだけ短いプログラムに、なんでこんなにたくさんバグを
入れられるのかが謎だ。もっと人の書いたちゃんとしたプログラム
を読んで真似する習慣をつけるべき。


615 名前:デフォルトの名無しさん mailto:sage [05/03/20 06:57:39 ]
どっかのクズサンプルをつかまされたのだろうきっと

616 名前:デフォルトの名無しさん mailto:sage [05/03/20 10:47:37 ]
バグと言っていいかどうか微妙だなw

617 名前:610 mailto:sage [05/03/20 11:46:33 ]
>>612
あ、SIZEはtypoです。実際は両方ともsizeを指定してます。
あと、エラーチェックもperrorを実際は入れてます。
長くなると迷惑かと思って省略してしまいました、ごめんなさい。

>>613
その辺をうまくよきに計らってくれるのがmmapだと認識してたのですが・・・
間違いでしたか。

>>614
flagsにMAP_PRIVATEを入れたら行けました。
何か勘違いしてるみたいなのでもちっとじっくりmanを読んでみます。
ありがとうございました。



618 名前:デフォルトの名無しさん [05/03/20 12:35:43 ]
仮想メモリ空間が足りないのに良きに計らうもクソも無いだろ

619 名前:デフォルトの名無しさん mailto:sage [05/03/20 13:37:38 ]
>>613
>>610 ではないだが
> 30bitじゃん。
> 幾らなんでもでかいだろ。
なんで?
ふつうに,
mmap(0, 1024L*1024L*1024L, ...)
って, 使えてるが.
FreeBSD でも Solaris でも IRIX でも...
CPU アーキテクチャにもよるだろうけど, 32bit あれば
2G のユーザ空間確保できるのが普通じゃねぇの.


620 名前:デフォルトの名無しさん mailto:sage [05/03/20 13:42:05 ]
>>619
> CPU アーキテクチャにもよるだろうけど, 32bit あれば
> 2G のユーザ空間確保できるのが普通じゃねぇの.

なことはない。

621 名前:デフォルトの名無しさん mailto:sage [05/03/20 13:47:05 ]
>>620
> なことはない。
だから, なぜだか教えてほしいって言ってるじゃん.
backing store に指定容量以上ののファイルとか,
十分な量の swap 持ってきてもだめなの?


622 名前:デフォルトの名無しさん mailto:sage [05/03/20 13:55:44 ]
よくあるケースは、
・32bitアドレス空間を、半分カーネル空間
・ユーザ空間の半分をテキスト領域
・残りをスタック領域とデータ領域
・sparseであることを仮定したmmap設計
などなど

x86はセグメントありますから、32bit全部データ領域は可能。

623 名前:デフォルトの名無しさん [05/03/20 14:02:45 ]
UNIX userはやたらとalphabetで書きたがるね。

624 名前:デフォルトの名無しさん [05/03/20 14:04:35 ]
それが UNIXer quality

625 名前:621 mailto:sage [05/03/20 14:08:40 ]
>>622
> よくあるケースは、
> ・32bitアドレス空間を、半分カーネル空間
mips あたりだと CPU が, そうゆう設計ですよね.

> ・ユーザ空間の半分をテキスト領域
こんなのって本当にある? バイナリの仕様次第か?
FreeBSD とか, 昔の SunOS-4 なんかだと
2^32/2 - text+maxdsiz+maxssiz が,
mmap で使用可能な空間ですよね?

> ・sparseであることを仮定したmmap設計
> などなど
64bit ならまだしも 32bit でやるかなぁ???

> x86はセグメントありますから、32bit全部データ領域は可能。
トロくなりませんか, OS が?


626 名前:621 mailto:sage [05/03/20 14:11:15 ]
> mmap で使用可能な空間ですよね?
ごめんなさい,
mmap(NULL, ..., /*MAP_FIXED ではない*/)
の話.


627 名前:デフォルトの名無しさん [05/03/20 15:58:01 ]
そもそもmmap自体がポータブルじゃないので
良きに計らえとか言ってると火傷します



628 名前:デフォルトの名無しさん mailto:sage [05/03/20 16:38:42 ]
Windows使うのが安全。

629 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:10:23 ]
同意。
わざわざ面倒なことする必要もない。

630 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:13:25 ]
FreeBSD/i386 を含め、386BSD から派生した OS は
i386 上だと、VM_MAXUSER_ADDRESS=3G くらいだから
512MB くらいなら mmap できることが多いよ。
KVM を広げるようにカーネルを config してたり、
他にいろいろ mmap してたりすると 別だし、
0番値から MAP_FIXED で mmap してたらまずいけど。
>>617 は MAP_PRIVATE を入れただけじゃなくて、
MAP_FIXED は取り除いたんじゃないかな。

m68k 用 NetBSD は、カーネルとユーザ空間に別の
仮想空間を使っているので、ユーザ空間だけで 4GB
使えたり。

ユーザー空間が 4GB/2=2GB って OS は多いけど、
text に 2GB/2=1GB も割り当てるなんてもったいない
ことしてる OS はないと思う。text は、実行ファイル
に含まれている分しか確保されない。むしろ、
ヒープと stack の中間に shared library 用の mmap
領域があったりすることが問題。

631 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:13:47 ]
>>627
mmap は、いまや POSIX.1:2004 に含まれているので、
そこそこポータブルですが、なにか?
Linux や *BSD など、POSIX.1:2004 をフル実装して
ない OS でも、mmap に関しては、ほぼ POSIX.1:2004
の仕様を満たしているよ。もっとも、定義されている
のは、各 OS の最大公約数程度の機能だけど。

632 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:15:24 ]
>>628
Windows のメモリマップドファイルって、ローカル
ファイルシステムはマップできるけど、リモートに
ある奴は駄目という不便な仕様だった記憶があるけど
今では直ったの?
UNIX の場合、当然そんな制限はありません。

633 名前:デフォルトの名無しさん [05/03/20 17:28:28 ]
>>631
POSIXに含まれている=ポータブルではない。
「そこそこポータブル」って何だよ。

> mmap に関しては、ほぼ POSIX.1:2004 の仕様を満たしているよ。
本当に?A LinuxとB LinuxとC LinuxとD LinuxとFreeBSDで使えても
ポータブルとは言わないよ?

634 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:32:10 ]
わははは!
ペイントハウスで思いのままだ!

635 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:37:57 ]
>>633
> 本当に?A LinuxとB LinuxとC LinuxとD LinuxとFreeBSDで使えても
> ポータブルとは言わないよ?

で、君は使えない処理系の一つでも挙げればいいんだけど、自分は何も知らないけど煽ってるだけと言うことでいいの ?

636 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:46:23 ]
>>633
POSIX.1:2004に書いてある仕様なら、Solaris, IRIX, Tru64, HP-UX,
AIX は使ってないので知らんが。これで現在でもメンテされている
商用UNIXはほぼ全部。ちなみにこの程度の範囲の仕様なら、いにしえ
の SunOS4 でも通用する。
mmap はシステムコールなので、別に A Linux, B Linux なんて
言わなくても全部の Linux で同じ動作だし、あの範囲の仕様な
ら、実際に Linux でも通用する。FreeBSD に限らず、全ての
4.4BSD 派生 OS でも通用する。

最初にまともな実装が登場した SunOS4 の時代ならともかく、
あれから 15年も経った今でもポータブルでないっていうのは
時代遅れだと思う。

637 名前:636 mailto:sage [05/03/20 17:48:22 ]
編集してたら文章が欠けた…

> POSIX.1:2004に書いてある仕様なら、Solaris, IRIX, Tru64, HP-UX,
> AIX は使ってないので知らんが。

POSIX.1:2004に書いてある仕様なら、Solaris, IRIX, Tru64, HP-UX は
少なくとも満たしている。AIX は使ってないので知らんが。




638 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:21:48 ]
611の言ったとおり、やっぱり商用UNIXじゃないとな。

639 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:32:28 ]
>>638
だったらAIX以外ならOKよ。
AIXは、mmapは大丈夫かもしれんが、そもそもOSが変態だから
やめた方がいいかもしれん。

640 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:34:24 ]
> A LinuxとB LinuxとC LinuxとD Linux
ワロタ

641 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:45:28 ]
ここで質問すると、かならず無駄に互換性の話まで拡大するのな。
大抵の質問者が環境書かないからだと思うけど、
今回は環境かいても無駄だった。

642 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:55:20 ]
で、件のFreeBSDでは動くのかというと、正確な所は誰も知らないと言う・・

643 名前:デフォルトの名無しさん mailto:sage [05/03/20 18:58:03 ]
POSIX.1:2004 の範囲ならFreeBSDでも動くよ?
元々の610のプログラムはバグバグなので、どのOSでも動かん。


644 名前:デフォルトの名無しさん mailto:sage [05/03/20 19:13:13 ]
たぶんWindowsなら動くんだよ。

645 名前:デフォルトの名無しさん mailto:sage [05/03/21 02:25:57 ]
特定のUNIXモドキ、しかも商用UNIXじゃないんだから
正確なところが分からなくても仕方ないと思う

646 名前:デフォルトの名無しさん [05/03/21 03:22:59 ]
basename()が引数の指す先を変更することってあるんですか?

647 名前:デフォルトの名無しさん mailto:sage [2005/03/21 03:49:09(月) ]
>>610
どこの本やサンプルを見たらあんなコードになるのか興味深い
駆逐したいのでどこを参考にしたのか教えて欲しい。



648 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 09:16:03 ]
>>646
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/basename.3.html
>path の内容を変更することがある。
だそうだ。

649 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 09:43:42 ]
ちゃんと嫁






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<215KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef