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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 13:14:50 ]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
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/


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

237 名前:133 [2005/06/17(金) 00:59:16 ]
findでは半年前のファイルに対しての情報で時刻部が欠落してしまうのです
もちろんソラリス10だとLSの--full-timeで問題なく落とせるわけですが

238 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 01:02:08 ]
>>235
そんならpopen(3)でfind(1)を呼ぶのが一番ラクだな

FILE *fp;
char buff[8192];

snprintf(buff, "find ......);
FILE *fp = popen(buff, "r");
while (fgets(buff, sizeof buff, fp)) { ..... }
pclose(fp);

こんな感じだ

239 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 01:03:32 ]
>>237
なら取得できたファイル名に対してstat()すればよかろ

240 名前:133 [2005/06/17(金) 01:08:47 ]
>>238
その手法は一度調べてみます。ありがとうございます。

>>237
上部の私が貼ったソースで既にstatが見受けられると思いますが
statのメイン部分では問題なくfullTimeを取得できる結果を得ていますので
その個別にstatを行うための拠点DIRにおいてそれぞれ処理する方法を
お伺いしている次第なのです。
指定したDIR配下の詳細データを列挙したくおもいます

241 名前:デフォルトの名無しさん [2005/06/17(金) 01:17:22 ]
自分で出来ないなら仕事辞めれ
他のまともな人に雇用を譲れ

242 名前:133 [2005/06/17(金) 01:24:23 ]
それはごもっともかもしれません
自分で解決して生きていかねばならない世の中ですから
いつまでも他人に甘えて生きていけるわけではありません
重々承知です。

243 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 01:36:28 ]
つか今の時代ネットが随分便利になってるし
キーワードもらえればそれで十分でしょ?
宿題○投げ学生サンじゃないんだしさ、給料貰ってんでしょ、それで?

といいつつ。

>>240
stat()の引数に指定するパス名はフルパスか、カレントディレクトリからの
相対パスでなければならない。
popen()でfind(1)を実行する場合に、カレント以外のディレクトリを
指定したんなら、そのディレクトリのフルパスにfind(1)から出力
されたパスを足せばいいでしょ。
そんぐらいは、できるよね?


244 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 06:54:17 ]
ダメ男にあれこれやってやると、ますますダメな奴を作る事になるぞ
ああ、それが狙いか?

245 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 07:37:54 ]
なんかSolarisでfulltimeで取得できる云々をみて思い出したが、>>133は前スレの>>970か同じ職場のやつかな。
>>980のソースを弄るだけでいいと思うが。



246 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 07:58:21 ]
>>153

247 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 08:01:21 ]
235と153が激しく矛盾している点について。

248 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 08:04:00 ]
>>245
漏れもそれを思い出していますた。

249 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 08:56:39 ]
狼少年あらわる

250 名前:デフォルトの名無しさん [2005/06/17(金) 10:23:16 ]
みんな気をつけろ!
コイツはとんだクワセ者だぞ!

251 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 10:35:13 ]
だからスルーしとけと言ったのに。

252 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 12:36:36 ]
もう来ないだろ。俺は面白かったから文句無い

253 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 13:02:08 ]
>>244
イイんじゃね?
仕事ができないクズは、一度どうしようもないくらい追い込まれないと治らないから(笑)。

254 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 10:15:48 ]
ftw(3)なんて関数あるんだ、知らなかった。
ほんのちょっと楽が出来るという微妙な関数だな、これ

#include <stdio.h>
#include <ftw.h>

int func(const char *path, const struct stat *st, int type)
{
  printf("%s is ", path);
  switch(type){
  case FTW_F:  printf("File\n"); break;
  case FTW_D:   printf("Directory\n"); break;
  }
  return 0;
}

int main(int ac, char **av)
{
  ftw(av[1], func, 10);
}


255 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 15:32:49 ]
微妙というか発想はLisperっぽいね。



256 名前:133 [2005/06/20(月) 00:42:41 ]
ありがとうごさいました。うまく動きそうです。
感謝します。皆さまの数々の親身な対応に頭があがりません。ありがとうございました。

257 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 01:38:27 ]
オオカミがきたぞ

258 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 17:58:25 ]
良く分かってないので変な質問かもしれませんが…

mkdir -p /xxx/xxxx 2> /dev/null

この 2> ってどういう意味なのでしょう?

259 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:05:41 ]
man pipe

260 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:10:26 ]
www.google.co.jp/search?hl=ja&lr=lang_ja&q=2

261 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:11:04 ]
>>258
ファイル記述子の2番への出力をりだいれくと。

262 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:11:50 ]
>>258

n> file
は、ファイルディスクリプタ n を file にリダイレクトする。
ファイルディスクリプタ 2 は標準エラーに割り当てられているから、
その例では、mkdir の標準エラーへの出力を /dev/null にリダイレクトして
捨てている。

263 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:14:46 ]
>>261-262
ありがとうございます

264 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:21:14 ]
>>258
>>259が1番正確な答えをいってるのになぜ感謝をせん

>>261->>262
お前等も甘やかすな
スレ違い以上に板違いだろが
痔になって死ね

265 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:24:28 ]
黙れホモ野郎



266 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:26:50 ]
> >>259が1番正確な答えをいってるのになぜ感謝をせん

それを言うなら man sh あたりだろwwww


267 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 18:34:57 ]
うは
ほんとに
man pipeに載ってるね

268 名前:デフォルトの名無しさん [2005/06/20(月) 19:05:43 ]
APUE 読めってことだね

269 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 22:19:49 ]
>>268
高い。厚い。
あの手の本は電車の中で読めるように5冊ぐらいに分けて欲しいよ。

270 名前:デフォルトの名無しさん [2005/06/20(月) 22:38:25 ]
www.amazon.co.jp/exec/obidos/ASIN/4894712059/
非常にハイレベルです, 2003/06/01
レビュアー: 本音のレビューアー (プロフィールを見る)   東京都 Japan
中途半端なレベルのエンジニアが買うと痛い目を見ます。

プログラミングのセンスがあり、ネットワーキングについてもそれ相応の知識と経験がある方が読むと、骨の隋まできっちりと把握できるでしょう。

非常に高価な本なので、一度本屋で目を通してから買うことをお勧めします。


271 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 22:47:41 ]
AdvancedWindowsの方がためになるし、高い。

272 名前:質問です [2005/06/20(月) 23:54:26 ]
質問です、
共有ライブラリの検索パスが通っているディレクトリを調べるには
どうすればよいのでしょうか?

273 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 23:57:49 ]
ld.so.conf

274 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 00:10:40 ]
$ echo $LD_LIBRARY_PATH | awk -F: '{ for (i = 1; i <= NF; i++) { print $i } }'; ldconfig -p | tail +2 | awk '{ print $NF }' | xargs -n 1 dirname | sort | uniq

こんなかんじ?

275 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 00:26:42 ]
まー、OSによって違うしね



276 名前:質問です [2005/06/21(火) 00:30:22 ]
>>273
ありがとうございます。/etc/ld.so.confにそれらしきリストが見つかりました。
ただそれにパスを加えて再起動しても、コンパイル時パスが通ってないようで苦戦しております

277 名前:質問です [2005/06/21(火) 00:37:02 ]
共有ライブラリを作りたいのですが、うまくいきません、問題点がわかりましたら教えて下さい。

・共有ファイル側makefile(ソースファイル2つあります):
tws.so:tws_envvalue.o tws_time.o
g++ -shared tws_envvalue.o tws_time.o -o tws.so
tws_envvalue.o:tws_envvalue.cpp
g++ -fPIC -c tws_envvalue.cpp -o tws_envvalue.o
tws_time.o:tws_time.cpp
g++ -fPIC -c tws_time.cpp -o tws_time.o
install:
cp -f *.h /usr/include/tws/
cp -f tws.so /usr/lib/
(makeでコンパイルした後make install でsoファイルを移動しています。)

・利用ファイル側
cgi_env.cgi:cgi_env.o
g++ -l /usr/lib/tws.so cgi_env.o -O3 -o cgi_env.cgi
cgi_env.o:cgi_env.cpp
g++ -c cgi_env.cpp -D LINUX -o cgi_env.o
install:
cp cgi_env.cgi ../../public_html/

このようにすると。利用ファイル側コンパイル中
g++ -l /usr/lib/tws.so cgi_env.o -O3 -o cgi_env.cgi
/usr/bin/ld: cannot find -l/usr/lib/tws.so
と出力され、あるはずのtws.soが認識されません。一体何が悪いのでしょうか。
gcc バージョンは 3.2.2 20030222 (Red Hat Linux 3.2.2-5)と出ました。

278 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 00:48:15 ]
gcc -Lディレクトリ名 -o a.out foo.o bar.o -lライブラリ名

279 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 00:49:12 ]
>>277
-ltwsなんじゃないの?

280 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 01:00:47 ]
-L/usr/lib -ltwsだと
/usr/lib/libtws.(so|a) をさがすのでは

-Lも-lもつけないで
g++ foo.o bar.o /usr/lib/tws.so -o unko
とか?

281 名前:質問です [2005/06/21(火) 01:14:46 ]
>>280さんのご指摘がビンゴでした、そのまんまの記述で無事コンパイル&使用が出来ました。
>>278 >>279さんも合わせてお礼申し上げます、助かりました。

282 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 08:55:54 ]
ウンコー

283 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 17:27:56 ]
教えてください。Cソースコードでテキストファイルに結果を書込みしたいのですが
どうすれば良いでしょう??

284 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 17:39:22 ]
system("echo hoge > hoge.txt");


285 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 17:39:52 ]
ソースコードでは相当に難しい



286 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 17:49:09 ]
cintで実行したら、ソースコードで書き込んだと言うことにならないか?
というかスレ違いです、>>283さんよ。
UNIX独自じゃないしね。(binaryならあれだけども)

287 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 22:45:48 ]
ソースコードでファイルに書くのは無理でした。

プログラムの実行結果の値をプログラム中から指定したファイルに
書き込みたいです。
exit(1); とか main の中の return -1; とかの 1や -1のことです。

どのような方法が可能でしょうか?

288 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 22:55:46 ]
return の意味わかってるか?

289 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 22:56:42 ]
int main () {
pid_t pid;
int st;
switch((pid = fork())) {
case -1: abort();
case 0: break;
default: waitpid(pid, &st, 0);
WriteToFile(WEXITSTATUS(st));
_exit(0);
}
... /* 実際の処理 */
}

290 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 22:58:25 ]
>>288の答えの方が的確だな

291 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:41:31 ]
基本的にPerlしか判らないんですが、ネットワークの負荷試験&自分の為に
CでSocketプログラムを作りたいと思いました。

簡単なTCPで通信をするプログラムは出来たのですが
負荷試験目的でパケットサイズを小さいのから大きいのを指定して
遅れる様にしたいと思います。

この場合は送る文字で制限するのが効率が良いのでしょうか?
また、1500バイト以上の文字列をランダムなバイト数で送る為には
やはり送る時のバッファサイズ(?)で何とかするのがスマートなんでしょうか?

なんか書いていて他にどうするんだって気になって来ましたが
普通のFTPとかはどういう単位でパケットサイズを決めているのでしょうか?

環境 : linux,solaris,FreeBSD,HP-UX for GCC

292 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:45:50 ]
ソース嫁

293 名前:デフォルトの名無しさん mailto:sage [2005/06/24(金) 23:50:42 ]
>>291
小っさいデータで送ろうとしても、一つのパケットにまとめられちゃう事が
あるから注意。

294 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:06:09 ]
>>291
TCP/IPの上に乗っかっているアプリケーションプログラマは、
「パケットサイズ」のことなんか考えちゃいかん
TCP/IPはあくまでバイトストリームのプロトコルだ。

なお>>293の言ってることについては「Nagleアルゴリズム」ででもぐぐれ。

295 名前:291 mailto:sage [2005/06/25(土) 00:25:57 ]
いや、ソースを読めりゃ問題無いんですが・・・。
まぁ勉強しろってのも全くではありますが。

某糞ネットワーク機器のバフォーマンスを計る為に自分で作りたかっただけで
自分がやりたい事をやってくれるソフトは、既にあったりはするんです。

Nagleアルゴリズムってのをぐぐってみました。
どういう物かはなんとなく判りましたがコレってWindowsだけって
認識でいいんですか?

> TCP/IPはあくまでバイトストリームのプロトコルだ。

発送を変えて「どんなサイズのパケットが来たか」でやってみる事にします。
いや、やり方はしらんけど。




296 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:29:35 ]
>>295
>どういう物かはなんとなく判りましたがコレってWindowsだけって

間違い

297 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:39:04 ]
>>287

#! /bin/sh
./a.out
echo $? > filename


298 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 00:42:21 ]
>>291
ネットワークプログラミングスレの方が適切だと思う。
既に的確な答えが返ってきているのにこう書くのも何だが…

あっちのスレのテンプレにあるサイトも読んでね。
UNIX SocketプログラミングFAQは必読。

299 名前:291 mailto:sage [2005/06/25(土) 00:56:59 ]

> >どういう物かはなんとなく判りましたがコレってWindowsだけって
>
> 間違い

いててて。。。

> 298
とりあえず、あっちを熟読してみます。
ですが、なんかやりたい事と自分のスキルの次元が違いすぎる勘を感じました。

300 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 06:55:16 ]
詳解TCP/IP の sock とか

301 名前:デフォルトの名無しさん [2005/06/26(日) 00:20:00 ]
Shift_JIS文字列を扱う場合、2バイト目がエスケープ文字だった場合に
問題が起きますよね。

WindowsではAPIやVC++のみに用意された関数で処理できるようですが、
Unix・Linuxではどのようにして問題を回避するのでしょうか?
自作関数を作る必要がありますかね?
ライブラリで処理できればいいんですが・・・

302 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 00:26:08 ]
iconvで16bit unicode charあるいはutf8に汁

303 名前:デフォルトの名無しさん [2005/06/26(日) 00:26:49 ]
今からプログラミングを始めるには何言語がいいっすか?

304 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 00:31:04 ]
問題は起きる場合と起きない場合がある。
というか、UNIXでそんなに大きな問題が出るか?

305 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 00:55:20 ]
>>301
どういう問題が起きるかは、どういう種類の処理をしたいかによるだろ。
だから、対応もケースバイケースにならざるを得ない。

2byte目とのマッチング、1byte目と2byte目を分断、なんてのは、まあ、
まずいな。これは別に2byte目が\の場合には限らない。

内部処理は全部wchar_tにして逃げる手もあるが、システムコール等に
Shift_JISで渡す必要があって、しかもそれが問題を生じる可能性がある
と判断したなら、何か手を考える必要があるわなあ。





306 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 01:21:43 ]
UIを持つアプリケーションでは、文字の並び順が問題になる。

307 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 04:39:50 ]
>>301
文字列の頭から1文字ずつ調べて(途中から調べると2バイト目とAscii文字との区別がつかない場合があるので誤認識する)
Shift_JISの1バイト目に該当するコードが出てきたら次の文字は2バイト目と判断して、問題が起きないように適切な処理をするか
Unicodeなり、EUCなりに変換するしかない。

308 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 06:12:09 ]
killコマンドで殺される際に、それを捕捉して何らかの処理をすることは可能でしょうか?

309 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 06:23:16 ]
man signal かな

310 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 11:38:50 ]
>>308
但し、kill -KILLは捕捉できない。

311 名前:質問です [2005/06/26(日) 11:43:20 ]
UNIXというよりWeb上の規格についての質問なのですが、
<FORM enctype="multiform/form-data">でブラウザがサーバーにstdinに送信するデータの形式について知りたいです。
inputフォーム2つとfileフォーム1つで実際に送信されたデータをとって見たら。
-----------------------------7d51d429260446
Content-Disposition: form-data; name="key1"

value1
-----------------------------7d51d429260446
Content-Disposition: form-data; name="key2"

value2
-----------------------------7d51d429260446
Content-Disposition: form-data; name="file1"; filename="C:\Documents and Settings\all user\デスクトップ\1119279517350.swf"
Content-Type: application/x-shockwave-flash

FWSク#7 x ー $マC ・
d?
(以下ファイルのデータが続く)
-----------------------------7d51d429260446--

↑このようなデータが取れました、これを見るにContent-Dispositionの行の次にContent-typeが指定されていたら1行空けてファイルデータ、
省略されていれば1行空けてフォームデータと見て良いのでしょうか?正確な規格文章が(出来れば日本語で)あったら教えて下さい。

312 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:09:55 ]
man form

313 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:11:20 ]
>>311
ブラウザによる
ってか、板違い
Web製作技術板だとかそんないたがあっただろ
そこいっとけ

314 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:21:59 ]
>>311 RFC1806

315 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:37:19 ]
>>311
RFCの日本語訳はネットワークプログラミング版のテンプレURL集をみよ。



316 名前:訂正 mailto:sage [2005/06/26(日) 12:37:48 ]
>>315
ネットワークプログラミング版→ネットワークプログラミングスレ


317 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:40:29 ]
日本語訳しか読めない奴がよく技術本とか言うな

318 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 15:57:07 ]
ファイルデスクプリタからfdopen()してFILE *を得るように、
文字列から同様にFILE *を得ることはできませんかね?


319 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 16:04:31 ]
>>318
文字列をファイル名と見立ててfopenすればいいんじゃないかな

320 名前:あああ [2005/06/29(水) 00:50:49 ]
次のプログラムをLittle EndianのCPUで実行したとき、
それぞれcmdとdataのメモリの内容、メモリから読み出した直後
のレジスタの内容、実際に出力される内容はそれぞれどのような
値になるでしょう?

char *cmdreg = CMD_PORT, *datreg=DATA_PORT;

unsigned int16 cmd;
unsigned int32 data;

cmd=0x87cd , data=0x20030719;
outw(cmdreg,(cmd & 0xff00)>>8 | (cmd & 0xff)<<8);
outl(datreg, data);




321 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 02:31:09 ]
なんで自分でやらないの?

322 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 03:09:42 ]
>>318-319 レス感謝。
CでC++のistrstreamみたいなことがやりたかったのです・・・。

323 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 05:20:36 ]
書き込みだけなら、sprintfでポインタをずらしていけば充分

324 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 05:28:50 ]
>>322
FILE*を相手にする関数をオンメモリのバイト列にも使えるか、というわけだよな。
*BSDならば、funopen()を使えば実現できる。でもまあ、移植性はない。

325 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 07:07:05 ]
>>324
glibcだとfopencookie
funopenは結構古くからあるけど、ネーミングの悪さからか、あまり広まらず。
逆にfopencookieを使っているアプリ(例えばPHP)では、
funopenをwrappingするような状況。(ノ∀`)アチャー



326 名前:デフォルトの名無しさん mailto:sage [2005/06/30(木) 19:04:50 ]
hoge@hogehoge:~/test/ncurses$ make
gcc -c -Wall -std=c99 -D__USE_POSIX199309 test.c
test.c: 関数 `main' 内:
test.c:5: error: storage size of `req' isn't known
test.c:8: 警告: implicit declaration of function `nanosleep'
test.c:5: 警告: unused variable `req'
make: *** [test.o] エラー 1

#include <time.h>

int main(void) {
  struct timespec req;
  req.tv_sec = 0;  req.tv_nsec = 33000;
  nanosleep(&req, NULL);
  return 0;
}

debianでプログラミングしていてnanosleepを使いたいのですが

time.h
# ifdef __USE_POSIX199309
/* Pause execution for a number of nanoseconds.
  This function is a cancellation point and therefore not marked with
  __THROW. */
extern int nanosleep (__const struct timespec *__requested_time,
       struct timespec *__remaining);
# endif

となっていたので-D__USE_POSIX199309としたのですがだめでした。
どうやれば使用できるようになるのでしょうか?

327 名前:デフォルトの名無しさん mailto:sage [2005/06/30(木) 19:19:19 ]
>>326
-std=c99
が邪魔してるようですね


328 名前:326 mailto:sage [2005/06/30(木) 20:01:20 ]
>>327
ほんとだ。
-std=gnu99
にしたら成功しますタ。

329 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 06:24:38 ]
forkとかspawnてどこで管理してるの?

330 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 07:14:00 ]
OS

331 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 07:47:43 ]
質問の意味も答えの意味もわからん

332 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 09:24:53 ]
俺なんかそのレスの意味もわからん

333 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:01:03 ]
ゆとり教育の弊害で国語力が低下した俺様が来ますたよ

334 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:11:06 ]
なんでもかんでもゆとり教育のせいにすんなよ

335 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:27:47 ]
creat(2)で最後の'e'が抜けたのもゆとり教育のせいだよ。
子供にはスペルくらいちゃんと教えないとね。



336 名前:初心者 [2005/07/01(金) 12:50:55 ]
ファイル・システムは、最終的にどれくらい大きくなるか
予測不能なエリアをアサインし、また、高速にアクセスす
る必要がある。UNIXでは、これをどのように実現している
か図を使い、述べよ。というわけのわからない問題が出てきました。
どなたかぜひ教えてください!

337 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 12:53:09 ]
○ <- ディスク
---------------- 壁
□ <- メモリ


ってか、板違い








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

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

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