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


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

Linuxプログラミング



1 名前:login:Penguin [2005/06/06(月) 11:19:09 ID:uXQqRJXF]
Linux のプログラミングに関する話題です

651 名前:login:Penguin mailto:sage [2008/03/06(木) 20:49:10 ID:xYqhiEhk]
>>650
仕様かどうかは知らんが、free(str)の前にsystem("ls");といれて、
straceつきで実行してみればARG_MAXがどこに効いているかわかるんじゃね?

652 名前:login:Penguin mailto:sage [2008/03/07(金) 02:06:25 ID:6CTqh5eF]
650じゃないけどやってみた。
現在の環境変数hogeの5文字目を読むプログラムenvcをsystem()で実行。
execve("/bin/sh", ["sh"..., "-c"..., "./envc"...], ["other-env=.....", "hoge=aaaaabaaaaaaaaaaaaaaaaaaaaa"...]) = -1 E2BIG (Argument list too long)
exit_group(127) = ?
で失敗するよう。
自プロセス内のputenv,getenvは単にアドレスを保存しているだけみたいな感じ。

653 名前:login:Penguin mailto:sage [2008/03/07(金) 08:22:54 ID:UMdAZxi/]
Linuxでどうやってるのか知らないけど、古典的なUnixだとputenvしたときには
書く場所がなければmallocして場所を作るしなあ

654 名前:650 mailto:sage [2008/03/07(金) 18:57:12 ID:WLDLR5XW]
ありがとうございます。
そういえば FreeBSD の putenv も malloc していたような記憶があります。

655 名前:login:Penguin mailto:sage [2008/03/09(日) 22:25:35 ID:OicC4WBL]
kernel 2.6.22でnetdevice.hのnet_deviceに
なぜstruct net_device *next消えてるの?

linux-sourceにはあるが
linux-headerには無い

なぜ?

656 名前:login:Penguin mailto:sage [2008/03/09(日) 23:46:44 ID:8q2J0afq]
>>655
linux-(source|header)にある/ないは知らんが、struct net_device::next
が消えた理由は以下らしいよ。
ttp://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=commit;h=7562f876cd93800f2f8c89445f2a563590b24e09

657 名前:login:Penguin mailto:sage [2008/03/11(火) 01:36:58 ID:Rs8OmFO7]
>>655
なるほど解ったどもね

今snullベースで
仮想Ethernetデバイスを作ってるんだけど

たとえばeth0がすでに登録されてて
eth0のパケットをsnull0で送受信したい場合って

initの中で
dev_get_by_name("eth0);
でeth0のnet_devicはとって来れるけどこいつを
どうやって料理すればいいんだ?

なーんにも思いつかないw


658 名前:login:Penguin [2008/03/15(土) 18:03:02 ID:NRAbwdcX]
/usr/include/pgsql/server/postgres.h と /usr/include/wand/MagickWand.h を
一緒に #include すると、コンパイル時に以下の警告が出るのですが、
これってどうにかならないもんしょうか?

/usr/include/pgsql/server/pg_config.h:14 から include されたファイル中,
/usr/include/pgsql/server/c.h:53 から,
/usr/include/pgsql/server/postgres.h:48 から,
main.c:9 から:
/usr/include/pgsql/server/pg_config_x86_64.h:571:1: 警告: "PACKAGE_BUGREPORT" が再定義されました
/usr/include/wand/wand-config.h:10 から include されたファイル中,
/usr/include/wand/MagickWand.h:29 から,
main.c:8 から:
/usr/include/wand/wand-config-64.h:491:1: 警告: ここが以前の宣言がある位置です

以下が重複しているようです。
PACKAGE_BUGREPORT
PACKAGE_NAME
PACKAGE_STRING
PACKAGE_TARNAME
PACKAGE_VERSION

ググっても分からなかったので、せめてヒントでももらえると助かります。
環境はCentOS 5、postgresql-8.2.5-2PGDG、ImageMagick-6.2.8.0-3.el5.4 です。
コンパイルコマンドは以下のような感じです。

gcc main.c -m64 -I/usr/include/pgsql/server -lpq -lWand

659 名前:login:Penguin mailto:sage [2008/03/15(土) 20:05:58 ID:f5+YWLcF]
>>658
そのヘッダの中身見てないけど、警告がでないようにするなら、
1. postgres.h,MagickWand.hを#includeしている間に#undef PACKAGE_*
 を入れる。
2. main.cから、postgres.hが必要な部分とMagickWand.hが必要な部分を
 別々のファイルに関数として切り出して、それぞれのファイルでは
 postgres.hかMagickWand.hのどちらかのみ#includeする。
のいずれかでどうよ?



660 名前:login:Penguin mailto:sage [2008/03/15(土) 20:50:51 ID:NRAbwdcX]
>>659
やっぱそうするしかないよねー。
前者の方法でやってみるー。ありー。

661 名前:login:Penguin mailto:sage [2008/03/15(土) 21:36:12 ID:O4AlaY1A]
ABが特に詳しく日本外務省について暴露しています

福田が尖閣諸島を中国に売り渡そうとしている!

外務省と福田政権が日本を中国に売り渡す・・・
青山繁晴氏が実際に見てきた日本の癌

@ www.youtube.com/watch?v=hZ5tOzAXtkc
A www.youtube.com/watch?v=Rl1vV_53KnU
B www.youtube.com/watch?v=sR9CpB7FgHo


662 名前:login:Penguin mailto:sage [2008/03/15(土) 22:23:04 ID:iDC6xMbb]
kernel空間でキューを作ってmmapで参照させたいんだけど
余計な処理が込み入ってないサンプルってありますか?

ドライバの形式はなんでもかまいません。


663 名前:login:Penguin [2008/03/17(月) 00:43:36 ID:nawcmHh0]
>>662
お前K社か?

664 名前:login:Penguin [2008/03/17(月) 12:33:53 ID:nScJcaBW]
自動停止してくれません。判りますでしょうか?

前提条件:テスト用に/root/test_stop.sh に、 プロセス停止のシェルプログラム作成。
(ちゃんと停止しないとファイルが壊れるため)

1:/etc/rc.d/init.d/test_stop として、下記を作成
-----------------------------
#!/bin/bash

# Stop

/root/test_stop.sh
-----------------------------

2:/etc/rc.d/init.d/test_stop に 実行権をつける
3:リンクの作成
ln -s /etc/rc.d/init.d/test_stop /etc/rc.d/rc3.d/K99test_stop


コマンドラインで
/root/test_stop.sh
/etc/rc.d/init.d/test_stop と打ち込むと実行(正常に停止して)されますが、
サーバーを再起動しても動いて(正常に停止して)くれません。(涙

665 名前:伊藤 mailto:sage [2008/03/17(月) 15:29:49 ID:CWhG8eFa]
>>664
エスパーのオレが回答する。

パスが通っていない。
init.dの下にある他のファイルを参考にパスを通しなさい
/bin,/sbin/usr/bin/usr/sbin くらいは通さないと駄目かと。


>>666
お前アホだろw

666 名前:664 mailto:sage [2008/03/17(月) 15:49:11 ID:nScJcaBW]
??
 パスですか? 他のファイルをみてますが、、今ひとつ??

667 名前:login:Penguin mailto:sage [2008/03/17(月) 17:01:34 ID:oHIFzbD+]
uClinuxでpthreadって使えるでしょうか
全く調べてないですけど

668 名前:login:Penguin mailto:sage [2008/03/17(月) 21:40:09 ID:hxyCMaK/]
>>664
直接ln -sなんてやってるのもまずいし、そもそもディストロが何か書いていない
時点で、rc.d以下がどういう挙動をするのかということがRHELやらSLESやら
ディストロによって違うということが分かってないだろ。

669 名前:login:Penguin mailto:sage [2008/03/17(月) 21:49:58 ID:hxyCMaK/]
つーか、どういう動作を期待していたのか、何を試してどうなったのかも分からんが、
スクリプトの書き方からして根本的に駄目だ。
他のスクリプトをひとつでも見れば、どうしようもなく間違ってることくらい
すぐに気づくはずなんだが。



670 名前:login:Penguin mailto:sage [2008/03/17(月) 22:06:58 ID:e/wCVwfQ]
>>669
じゃあ手本見せてやれよ
分からない分からないばかり言ってないでさ

671 名前:login:Penguin mailto:sage [2008/03/17(月) 22:21:17 ID:YyeBPwCr]
手本は多数インストールされてるだろが。それを見れ。

672 名前:login:Penguin mailto:sage [2008/03/17(月) 22:41:19 ID:6m6H6SB/]
>>663
Kってどこだぉ?

673 名前:login:Penguin mailto:sage [2008/03/17(月) 23:18:23 ID:EaiHugoC]
>>672
Kentucky Fried Chicken に決まってるじゃないの

674 名前:login:Penguin mailto:sage [2008/03/17(月) 23:20:52 ID:+R0hndtT]
>>664
runlevel 3は再起動じゃなかったりするわけだが。
/etc/inittabに説明が書いてないか?

ついでにK99じゃ遅すぎて、呼ばれる前にkill -TERMくらうと思うわけで。

>>667
使えるはず。
kernelじゃなくてuClibc側が対応してなかったりする可能性もあるが。


675 名前:login:Penguin mailto:sage [2008/03/17(月) 23:46:58 ID:s0icvwwX]
>>673
カーネルサンダースかw

676 名前:login:Penguin mailto:sage [2008/03/17(月) 23:58:03 ID:Rzp2mBZf]
>>674
667ですが使えました。
あろがとうございました。

677 名前:login:Penguin mailto:sage [2008/03/17(月) 23:58:28 ID:Rzp2mBZf]
ありがとうございました!

678 名前:login:Penguin mailto:sage [2008/03/18(火) 00:45:47 ID:pdz2c3Ck]
KFCか

679 名前:login:Penguin mailto:sage [2008/03/18(火) 23:52:30 ID:pdz2c3Ck]
24時間で誤差1ミリsec以内に
時間を調節したいんだけど
NTPだけじゃどうにもならん

こうゆうときどうするの?



680 名前:login:Penguin mailto:sage [2008/03/18(火) 23:55:57 ID:owXiyD5i]
>>679
KFCか、あきらめるんじゃないか?

681 名前:login:Penguin mailto:sage [2008/03/19(水) 00:00:57 ID:mZKM+MPD]
GPSから受信するのがいいんじゃないか?

682 名前:login:Penguin mailto:sage [2008/03/19(水) 00:34:49 ID:jmy0fpSq]
受信機からシリアルで送ってもらうと、1msくらい余裕でぶれそうな
気がするでよ。
システムクロックをTCXOで作ればどうにかなりますかねえ。

そもそも何でそこまでの精度が必要なのか気になりますな。


683 名前:login:Penguin [2008/03/19(水) 01:52:51 ID:Dy7hJrHZ]
>>679
さすがに1日1秒もずれねーよなー

っていう前提の下に、1分に1回時刻合わせする

684 名前:login:Penguin mailto:sage [2008/03/19(水) 01:59:47 ID:hI6xFIVz]
で、肝心のNTPサーバが他人様の物で、毎分の御アクセス
ありがとうございます。というメールとともにアク禁にされると。

685 名前:login:Penguin mailto:sage [2008/03/21(金) 10:51:26 ID:GPURSs20]
puttyなターミナルから入った最近のLinuxで、ncursesw使ってutf-8を表示しようとしたのだけど、
mvprintw(1, 0, "※"); mvprintw(1, 1, " "); mvprintw(1, 2, "※"); mvprintw(1, 1, "☆");
なら期待どおり ※☆※ になるのに、
mvprintw(1, 0, "※"); mvprintw(1, 1, " "); mvprintw(1, 2, "※"); mvprintw(1, 1, "あ");
と最後の☆を変えただけで ※あ に表示が崩れるのは、どこに原因があるのでしょうか?

686 名前:login:Penguin mailto:sage [2008/03/21(金) 23:04:14 ID:08/5PZeA]
IMEの入力モードを変換するAPIってあるんでしょうか?

687 名前:login:Penguin mailto:sage [2008/03/26(水) 01:52:22 ID:cX9Hm6ZW]
Linuxで各スレッドが何回Mutexかけて
失敗したとか統計情報ってどこにあるの?


688 名前:login:Penguin mailto:sage [2008/03/26(水) 21:37:02 ID:3c6tutxx]
>>687
はっはっは
無いよ

689 名前:login:Penguin mailto:sage [2008/03/27(木) 02:27:08 ID:PiHD4Bq/]
ねーのか
腐ってるんだな本当に
windowsがやっぱ最強だな



690 名前:login:Penguin mailto:sage [2008/03/27(木) 23:02:19 ID:vcJKwHhP]
WindowsはMutexかけ損なった統計があるのか
スゴイな。どうやったら取れるんだい?

691 名前:login:Penguin [2008/03/28(金) 11:01:02 ID:HvPMQUTZ]
イベントログじゃね?




ところで、質問です。
iconvの使い方、サンプルコードがあれば、教えてください。

やりたいことは
>SJIS 文字列と UTF8 文字列を相互に変換する
ことです


692 名前:login:Penguin mailto:sage [2008/03/28(金) 13:32:01 ID:i9tqqt3j]
iconv -f SJIS -t UTF-8
iconv -t SJIS -f UTF-8

693 名前:login:Penguin mailto:sage [2008/03/28(金) 15:51:47 ID:HvPMQUTZ]
ありがとうございます。
プログラムから使う場合も教えてくださいorz

694 名前:login:Penguin mailto:sage [2008/03/28(金) 15:56:36 ID:s6QtoqP9]
system()

695 名前:login:Penguin mailto:sage [2008/03/28(金) 17:40:02 ID:5TgcLqfx]
シェルスクリプトからそのまま使え。

C99(UTF-8->SJIS)
char *instr = "文字列";
char *i = instr;
size_t i_len = strlen(i);
char out[256];
char *o = out;
size_t o_len = sizeof(out);
iconv_t cd = iconv_open("SJIS", "UTF-8");
int r = iconv(cd, &i, &i_len, &o, &o_len);
iconv_close(cd);

iconvの引数は、普通cd以外全部書き換わるから、元のアドレスはどっかに取っとけ。

696 名前:login:Penguin mailto:sage [2008/03/28(金) 18:06:35 ID:HvPMQUTZ]
詳説サンクス>>695

ところで、現在の文字コードはどうやってとりますか?
環境変数のLANGですか?


ttp://q.hatena.ne.jp/1136691036

697 名前:login:Penguin mailto:sage [2008/03/28(金) 18:11:06 ID:s6QtoqP9]
pc11.2ch.net/test/read.cgi/unix/1127388574/202-205n
の人?

698 名前:login:Penguin mailto:sage [2008/03/28(金) 18:12:36 ID:HvPMQUTZ]
当たり!

これが解決すれば、もう無問題なんですが。

699 名前:login:Penguin mailto:sage [2008/03/28(金) 18:13:37 ID:5TgcLqfx]
pc11.2ch.net/test/read.cgi/tech/1205795434/26 は?



700 名前:login:Penguin mailto:sage [2008/03/28(金) 18:14:29 ID:s6QtoqP9]
>>698
なら板違い。

701 名前:login:Penguin mailto:sage [2008/03/28(金) 21:23:25 ID:s9WZiFsz]
環境変数は
・プロセス毎に持つものである。
・どの環境変数をどう使うかは各プロセスに自由に任されている。OSは関知しない。
以上を踏まえて自分の目的が達成出来るか否か検討するよろし。

702 名前:login:Penguin mailto:sage [2008/03/31(月) 13:16:40 ID:psA1qVjr]
黒タイツの暗黒シュシュトリアン

703 名前:login:Penguin mailto:sage [2008/04/07(月) 09:04:17 ID:tYWKZpa/]
C/C++でHDDの使用量を取得したいのですがどのようにすればよいのでしょうか?

704 名前:login:Penguin mailto:sage [2008/04/07(月) 10:52:59 ID:YCXHql+C]
dfのソースでも読んでみれば

705 名前:login:Penguin mailto:sage [2008/04/07(月) 10:54:35 ID:eTKSmIvZ]
・kernel様にお伺いする。
・アプリからI/Oポートを直接操作する。
かな。

706 名前:login:Penguin mailto:sage [2008/04/07(月) 13:33:34 ID:HanpYLz1]
>>703
statfsを呼べばおk
続きはmanで

707 名前:login:Penguin [2008/04/07(月) 16:33:38 ID:K3aneVtn]
次期C++ではinline fortranが可能に!
pc11.2ch.net/test/read.cgi/tech/1207109859/

仕様肥大化しすぎ

708 名前:login:Penguin mailto:sage [2008/04/07(月) 18:02:15 ID:voVdLXCc]
C++好きだけどいい加減自重してほしいとは思うな

709 名前:login:Penguin mailto:sage [2008/04/07(月) 20:42:31 ID:ky4RCRjO]
正直ワロタ。もはやネタの域にきとるな。次はinline C#とかw



710 名前:login:Penguin mailto:sage [2008/04/08(火) 14:18:36 ID:xYr9GeEI]
スレッド間の排他について質問です。

現在、共有資源の内容を変更(新規追加・内容変更・削除)を行うスレッドが1つと
共有資源の参照のみを行うスレッドがN(N>=2)の構成のアプリケーションを開発
しています。

今まで、どちらのスレッドもアクセスするには同じMutexによる排他を行っていた
のですが、どうにもスループットが出ないので、参照のみを行うスレッド間を並列に
動かせるようにするための方法を探していたところ、読み書きロック(正式には
何と呼ぶのでしょうか?)を発見しました。そこで、

変更するスレッド:変更前後で pthread_rwlock_wrlock() / pthread_rwlock_unlock()
参照するスレッド:参照前後で pthread_rwlock_rdlock() / pthread_rwlock_unlock()

というようにして試験したところ、劇的にスループットが向上しました。

これはこれで良かったんですが、となるとMutexの存在意義について疑問が出てきました。
今後、あらゆるMutexを使用している場面で、読み書きロックを使用し、Mutexの出番は
ない!と断言してしまって良いのでしょうか?


711 名前:login:Penguin mailto:sage [2008/04/08(火) 21:42:30 ID:VGg353lI]
常識的に考えれば、この世にロックの手法がいくつもあるからには、
それぞれ向き不向きがあるのではないかと思うだろ。

常識で分からなければソースコード読んでみれ。pthread_rwlock_rdlock()で
やっている処理があらゆる場面で常に必要なのかどうか。

712 名前:login:Penguin mailto:sage [2008/04/08(火) 23:57:33 ID:weWUMveG]
なんで参照でロックすんの?

713 名前:login:Penguin mailto:sage [2008/04/09(水) 00:19:39 ID:72MInrbZ]
アトミック書き込み関数とかがPOSIXにはないから、かなー。
あとは、アレ、読み取り一貫性?そういうのを確保しないと、
これからはCPUコア数の増えていくからネ

714 名前:login:Penguin mailto:sage [2008/04/09(水) 01:48:54 ID:MHOGD1vi]
つーと、具体的には変更スレッドと(参照スレッド)の同時発行時に参照スレッド側が遅延した場合とか考えてるのかな?
だとすると、Mutexを利用して変更スレッド側の優先度をごにょごにょしたりするつーことなの?

715 名前:login:Penguin mailto:sage [2008/04/09(水) 12:36:11 ID:oZETFFXK]
カーネル2.4の環境で、共有メモリを使用したプロセス間通信を行っているのですが、
プロセスが停止(終了ではなく一時停止)します。
 ・AとBの2プロセスが動作しています。
 ・AはBへメールを送信(msgsnd)します。
 ・Bはメールを受信するとTCP/IP接続されたサーバに情報を送信し、
  送信したことをAプロセスへメールで通知します。
 
これを繰り返していると、たまにBプロセスの関数途中でAプロセス側へCPUが
スイッチされそのままBプロセスへ制御が戻らなくなります。
(システムコール等でブロッキングされているわけではありません)

※メール送信時の共有メモリは、メール送信毎に作成し、受信側で破棄する作りです。
※今のところTCP/IP通信を行わないと発生しません。(ドライバは標準の物)
※一時停止したプロセスはコンソールへの入力等(H/W割り込み?)を行うと再開します。

このような現象にあった方はいないでしょうか?(長々とすみません)

716 名前:login:Penguin mailto:sage [2008/04/09(水) 12:56:09 ID:KQOYg6Em]
送信側にディレイを入れてみるとか?

717 名前:715 mailto:sage [2008/04/09(水) 15:05:40 ID:7C+zl+CD]
すみません、情報が漏れていました。

AプロセスはBプロセスのTCP送信が終わるまで、次のメールは送信しません。
その為メールボックス一杯や、メモリ枯渇も無いはずです。

718 名前:login:Penguin mailto:sage [2008/04/09(水) 15:07:43 ID:KQOYg6Em]
straceで調べてみるとか?

719 名前:login:Penguin mailto:sage [2008/04/09(水) 21:33:10 ID:miANdZt+]
pthread_rwlock_wrlock()とか
遅いし使う価値ないじゃん
全部pthread_mutexの方が安全だし



720 名前:login:Penguin [2008/04/10(木) 17:20:05 ID:hC2NJA9B]
時間について教えて頂けないでしょうか?

1) 時間の取得(文字でなくて数値)
2) 時間のローカルタイム化
3) 夏時間の演算(tm_isdstの使い方が答?)

を順番に行うコードもしくは関数を教えて頂けないでしょうか?

721 名前:720 mailto:sage [2008/04/10(木) 17:30:23 ID:hC2NJA9B]
>1) 時間の取得(文字でなくて数値)

については、gettimeofdayがあるみたいですね。
その後がよくわからなくてorz

722 名前:login:Penguin mailto:sage [2008/04/10(木) 17:33:38 ID:f9Jb/+FW]
? www.linux.or.jp/JM/html/LDP_man-pages/man2/gettimeofday.2.html

723 名前:720 mailto:sage [2008/04/10(木) 18:06:20 ID:hC2NJA9B]
>>722
有難う。
1のgettimeofdayについては、分りましたが。。。

724 名前:login:Penguin mailto:sage [2008/04/10(木) 18:09:09 ID:f9Jb/+FW]
>>723
そのページしか観賞しないの?

725 名前:login:Penguin mailto:sage [2008/04/10(木) 18:23:14 ID:hC2NJA9B]
分らないから聞いてるんですけど。

正直言って、 >>722 のリンクは書き込む前に読んでます。

726 名前:login:Penguin mailto:sage [2008/04/10(木) 18:24:02 ID:f9Jb/+FW]
>>725
学生くん?

727 名前:login:Penguin mailto:sage [2008/04/10(木) 18:25:22 ID:hC2NJA9B]
>>726

おまい、ウザさ極限。
消えてお願い。

728 名前:login:Penguin mailto:sage [2008/04/10(木) 18:26:26 ID:kK61Qe8m]
>>725
ttp://www.google.com/

729 名前:login:Penguin mailto:sage [2008/04/10(木) 18:26:36 ID:xKGUAbUV]
時間と時刻の使いわけ
ものをたずねるときの態度

終わってるな



730 名前:login:Penguin mailto:sage [2008/04/10(木) 18:53:32 ID:hC2NJA9B]
おまいら、クズだな。

こういう回答を待ってたんだよ : ttp://www.ne.jp/asahi/hishidama/home/tech/lang/date.html

731 名前:login:Penguin mailto:sage [2008/04/10(木) 18:56:49 ID:f9Jb/+FW]
LINUXの固有の質問じゃないのに、聞く場所間違ってる。
だだのCの標準関数の使い方だろ?

732 名前:login:Penguin mailto:sage [2008/04/10(木) 19:31:12 ID:hC2NJA9B]
>>731
おまいはクズなだけじゃなく、チ●カス野郎だな。

おまいの出したPOSIXのヘルプ読んでみろよ。
今は使うべきでないものから、BSD拡張まで書いてあるからwww

733 名前:login:Penguin mailto:sage [2008/04/10(木) 19:32:46 ID:f9Jb/+FW]
職業プログラマ?

734 名前:login:Penguin mailto:sage [2008/04/10(木) 19:56:43 ID:kK61Qe8m]
中学生か高校生でしょ。関わらない方がいいよ。

735 名前:login:Penguin mailto:sage [2008/04/10(木) 20:33:34 ID:qQFVgABP]
>>720
time_t t=time();
puts(ctime(&t);
で出来るよ。夏時間は廃止されました。
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/ctime.3.html

736 名前:login:Penguin mailto:sage [2008/04/10(木) 21:28:17 ID:1AAfwdH6]
低スキル職業プログラマでしょ。
で、誰かに知恵をつけてもらって必死でやり返そうとしてるんだろ。

737 名前:login:Penguin mailto:sage [2008/04/10(木) 23:15:29 ID:JcKcidtB]
これは酷いわ

738 名前:login:Penguin mailto:sage [2008/04/11(金) 10:13:35 ID:Dl1bvkA3]
>>735
>夏時間は廃止されました。

本当ですか???
本当ならどれだけうれしいか。



ところで、>>720 の演算を順番に行うコードも知りたいです。

739 名前:login:Penguin mailto:sage [2008/04/11(金) 11:48:41 ID:sYNmn6Lb]
>>738
>>735がそのコードです。



740 名前:login:Penguin mailto:sage [2008/04/11(金) 12:29:22 ID:Dl1bvkA3]
なるほどサンクス。

time(); ・・・UTC(もしくはGMT)
ctime()・・・ローカルタイム化+文字列化

ですか。

741 名前:login:Penguin mailto:sage [2008/04/12(土) 01:40:35 ID:aMk0av0+]
ていうか、「ありがとう」は?

742 名前:login:Penguin mailto:sage [2008/04/12(土) 08:56:08 ID:GsTcWvnq]
サンクスって書いてあるじゃん

743 名前:login:Penguin [2008/04/12(土) 09:17:33 ID:H1hJd2mx]
以下のプログラム
fd = iconv_open("EUCJP", "SJIS");
iconv(fd, (char **)&inptr, (size_t*)$size, (char **)&outptr, (size_t*)$size);
iconv_close(fd);

Valgrind --leak-check=yes でチェックすると、iconv_open()で
 Invalid read size of 4
 Address xxxxxxx is 48 bytes inside a block of size 49 alloc'd

とエラーを出すんですがiconv()を使っていて問題を起こしてる方いませんか?
iconvの出力は正常なんですが

744 名前:login:Penguin mailto:sage [2008/04/12(土) 13:41:44 ID:2bOSym+8]
iconvは危険だから使ってはいけない

745 名前:login:Penguin mailto:sage [2008/04/12(土) 13:45:36 ID:yzi8k0zU]
時代は酢昆布

746 名前:login:Penguin mailto:sage [2008/04/12(土) 15:09:02 ID:H1hJd2mx]
>>744
アプリを書き換えることにしました。ありがとうございます。

>>745
そうだったんですか?初めて知りました。もっと勉強します。

747 名前:login:Penguin mailto:sage [2008/04/12(土) 17:16:01 ID:zeB3ARgq]
そのドル記号は何だw

748 名前:login:Penguin mailto:sage [2008/04/18(金) 04:34:40 ID:fBS7BtR5]
ログ出力の際にファイルロックが必要かどうか実験していたのですが、
ちょっと不思議な現象に出くわしました。
以下のプログラムを100プロセス同時に実行すると、hoge.logの一部で「wwritten」と
なってしまう箇所があります。
fprintfでなくwrite(2)を使うと再現しないのでglibc(2.6.1)のせいだと思うのですが、
これはどういう原理なのでしょうか?
#include <sys/file.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
int i;
FILE* fp = NULL;
int fd;
int pid = getpid();
fp = fopen("hoge.log", "a");
if (!fp) {
exit(1);
}
fd = fileno(fp);
for (i=0; i<10000; i++) {
flock(fd, LOCK_EX);
fprintf(fp, "written by pid %d\n", pid);
flock(fd, LOCK_UN);
usleep(1000);
}
fclose(fp);
return 0;
}

749 名前:login:Penguin mailto:sage [2008/04/18(金) 06:27:36 ID:cYJ/Gams]
>>748
flock(fd, LOCK_EX);
fprintf(fp, "written by pid %d\n", pid);
+ fflush(fp);
flock(fd, LOCK_UN);

まあglibcのせいと言えなくもないが…




750 名前:login:Penguin mailto:sage [2008/04/18(金) 07:27:29 ID:twxhbmPg]
いや、「glibcのせい」と言ってはマズイじゃろ。「Cのせい」だよな。

つーか、この内容ならロックを取らずにアトミックに書き出せばええやん。

751 名前:748 mailto:sage [2008/04/18(金) 13:21:14 ID:3NdGmVsA]
fflushとはすっかり忘れていました。
ついでにお聞きしますが、ログ追記の定石というのはあるのでしょうか?
・ロックは不要か
・1行書くたびにfflushではパフォーマンスが気にならないか
・クラッシュしたときのためatexitでfcloseするべきか
とりあえずlog4cではflushもロックもしていないようでしたが。






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

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

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