[過去ログ]
OpenBSDで日本語環境設定 (415レス)
OpenBSDで日本語環境設定 http://mevius.5ch.net/test/read.cgi/unix/985675477/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
101: 名無しさん@Emacs [sage] 03/01/01 13:54 >>98 俺もあぬまり詳しくないけど。どういう目的かというと、ABI を保つためでしょう。例えば sys/times.h 中で、times(3) という関数は __BEGIN_DECLS #ifdef __LIBC12_SOURCE__ clock_t times __P((struct tms *)); #else clock_t times __P((struct tms *)) __RENAME(__times13); #endif __END_DECLS こういう風に宣言されています。ここで __LIBC12_SOURCE__ は旧版で、times(3) の ABI が変わった(?)ときに加わったのが __RENAME(__times13) の方。新しい環境で times(3) を使うと後者が適用されると思います。 で、__RENAME(__times13) とは、コンパイル時に、シンボル times を __times13 にすり替えるのだと思います。ここで、なんでかっていうのはうまく説明できませんけど、#define times __times13 じゃ整合がとれなくなったりするからでしょうか。__RENAME の振る舞いは printf '#include <sys/cdefs.h>\n__RENAME(foo)\n' | cc -E - | tail -1 printf '#undef __ELF__\n#include <sys/cdefs.h>\n__RENAME(foo)\n' | cc -E - | tail -1 printf '#include <sys/times.h>\ntimes(foo)\n' | cc -E - | grep times nm -g /usr/lib/libc.a | grep times とかやれば分かるんじゃないでしょうか。(というか、わたしもすぐ分からなくなるから↑こんな風にしています。) http://mevius.5ch.net/test/read.cgi/unix/985675477/101
106: 101 [sage] 03/01/03 00:43 >>102 ちなみに私はちっとも神じゃないです。:-) 101 の内容もちっとも自信がありませぬので鵜呑みにされませぬよう。>all http://mevius.5ch.net/test/read.cgi/unix/985675477/106
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.057s*