トップページ⇒tech
1001コメント303KB

すれ立てるまでもない質問はここで 第73刷

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/12/27(火) 23:41:57
■ 注意事項
    ・ 質問する前にGoogleで検索しましょう。 
    ・ プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
    ・ ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。 
    ・ Javascript, HTML は Web 制作板、CGI は Web プログラミング板へ。 
    ・ 業界談義、愚痴はプログラマ板へどうぞ。 
    ・ ゲーム関係の話題はゲーム製作板へどうぞ。 

■ 関連スレッド
    ・ すれ立てるまでもない質問はここで  第72刷 : 
       http://pc8.2ch.net/test/read.cgi/tech/1132601948/

http://pc8.2ch.net/test/read.cgi/tech/1132601948/
■ 関連板
    ・ パソコン初心者 : http://pc2.2ch.net/pcqa/
    ・ ソフトウェア : http://pc7.2ch.net/software/
    ・ Web制作 : http://pc8.2ch.net/hp/
    ・ Webプログラミング : http://pc8.2ch.net/php/
    ・ プログラマー : http://pc8.2ch.net/prog/
    ・ ゲーム製作技術 : http://pc8.2ch.net/gamedev/
0153デフォルトの名無しさん2006/01/06(金) 22:29:33
>>152
OSは?言語は?
0154デフォルトの名無しさん2006/01/06(金) 22:35:17
任天堂 マイク でぐぐる。
0155デフォルトの名無しさん2006/01/06(金) 22:39:17
質問です。
「でぐぐる」 って何ですか?
0156デフォルトの名無しさん2006/01/06(金) 22:40:24
google検索
01571472006/01/06(金) 23:06:26
>>148,149さん

お陰様で目的のinnerTextに辿り着けました。
本当にありがとうございました。
0158デフォルトの名無しさん2006/01/06(金) 23:36:16
インデックスってありますよね?
あれってどういったアルゴリズムで実現しているのか
教えていただけませんか?

0159デフォルトの名無しさん2006/01/06(金) 23:39:46
>>158
辞書引け
0160デフォルトの名無しさん2006/01/07(土) 00:55:25
VC++.NETの初心者です。
メンバーの実装部分てcppファイルに記述するものだと思ってたんだけど、
なんかIDEが(Formとかで)自動生成するコード見てるとヘッダーにすべて記述されてる。
ヘッダーファイルに宣言も実装も記述する場合と、cppファイルに実装を記述する場合の
分け方みたいのってあるの?
01611602006/01/07(土) 01:01:25
追記
VC++.NETの初心者というかC++自体初心者です。
んで専門はC#。
0162デフォルトの名無しさん2006/01/07(土) 01:25:44
エミュってなんですか?
0163デフォルトの名無しさん2006/01/07(土) 01:26:32
こんばんわー
私いまVC6を使っているものです、
技術は猫でもわかる...を読破した程度です。
質問は今「Visual Studio .NET theSpoke Premium Version 2003」を
買おうと思っています、やっぱりVC.netになっているので
要所要所違うところがあると思うのですがやっぱりver6と.netでは
すんなり移行できるほど容易い環境では無いのでしょうか?
あまりにかけ離れているかもしれないので購入をためらっています・・。
0164デフォルトの名無しさん2006/01/07(土) 03:20:11
>>162
ttp://dictionary.rbbtoday.com/Details/term108.html
かぁ?
0165デフォルトの名無しさん2006/01/07(土) 03:25:48
>>160
インライン展開してるんじゃない?
0166デフォルトの名無しさん2006/01/07(土) 12:08:57
>>160
MSの基本方針としてIDEの自動生成したソースは弄らないってのがあるので
自動生成のコードはヘッダー側、ユーザーの記述するコードはCPP側って事だと思う

それにライブラリのヘッダーはライブラリの開発元から提供されて、
ユーザーはそれを弄らないと言う暗黙のルールがC言語の時代からある
0167デフォルトの名無しさん2006/01/07(土) 22:07:43
VC7.1でActiveXコントロール作ってcabに固めてオレオレ証明書で署名したものを用意して
ブラウザからロードするようなプログラム書いてるんですが、毎度ダウンロードしてきます。
( %WinDir%\Downloaded Program Files に格納されない )
ちゃんと入るcabもあるんですが、コード・プロジェクト共に差違が殆ど見つかりません。(名称程度)
何処に注意したら良いんでしょうか?
0168デフォルトの名無しさん2006/01/07(土) 23:39:37
IEを自動で更新するプログラムって作れますか?
0169デフォルトの名無しさん2006/01/08(日) 01:18:51
エスパー!
0170デフォルトの名無しさん2006/01/08(日) 02:18:36
FindWindowしてF5をSendKeyすりゃできる
0171デフォルトの名無しさん2006/01/08(日) 04:18:00
SJISからUTF8に変換したいのですが、この場合変換できない文字はありますか?
UTF8からSJISに変換する場合は変換できない文字があるらしいのですが、
UTF8およびUNICODEではSJISを完全に含むため、変換できない文字はないと聞いたのですがそうですか?
0172デフォルトの名無しさん2006/01/08(日) 05:17:32
>>171
文字コードスレで聞く方がいいと思うが
Windowsの内部コードはUNICODEなのでWindowsでやってるくらいの範囲ならOK
あなたがどこまでの事を望んでるかはわからないけど。
0173デフォルトの名無しさん2006/01/08(日) 05:58:08
WindowsでSJISで入力し、WindowsでUTF8にします。
その結果はバイナリファイルになり、PC以外の端末で利用します。
UTF8になったらプラットフォームは関係ないのですよね?
0174デフォルトの名無しさん2006/01/08(日) 07:16:18
最近文字通りプログラムに「はまってしまった」のですがどうしたら良いでしょうか?
他の事もしたいと思っているのですが、他のことをしていると
「こんなことをしている暇があるならプログラムしなければ…。」
のように感じてしまいます。
どうしたら良いでしょうか。
助けてください。
0175デフォルトの名無しさん2006/01/08(日) 07:26:52
XMLでログ出力を行うとします。

<log level="critical" type="text" class="XXEntity" method="select" time="2006/01/08 10:00:00.000" value="システムエラーです。処理を継続できません。" />


<log level="information" type="text" class="XXEntity" method="lock" time="2006/01/08 10:00:00.000">
 検索結果がありません。
</log>


<log level="trace" level="trace" class="XXEntity" method="update" time="2006/01/08 10:00:00.000">
 <message type="text">XXEntity#update: 更新処理開始</message>
 <message type="hex">d0000f305a7b2f008a</message>
</log>


他にも色々な表記が考えられますが、
どこまでを属性表記にすべきでしょうか?
今ひとつ、属性にすべき要素の切り分けができないんです。
0176デフォルトの名無しさん2006/01/08(日) 12:03:47
>>171
変換自体はできる。
ただUnicode(UTF-8など)からいわゆるShift-JIS(MS CP932)へ戻そうとすると、
元とは違うコードになってしまう文字がある。

同じ文字がNEC拡張とIBM拡張のそれぞれに収録されている文字があって、
Unicodeでは同一のコードポイントになるため両者の区別が付かなくなる。
0177デフォルトの名無しさん2006/01/08(日) 12:14:32
>>175
「属性」「要素」の意味を考えれば悩まなくていい。
0178デフォルトの名無しさん2006/01/08(日) 13:26:28
>>174
リラックマでも読め
0179デフォルトの名無しさん2006/01/08(日) 18:45:22
>>174
燃え尽きるまでやるがよい!!

どっかで知識や熱意の限界がやってきて詰まる。
問題はいつになるかわからんことだな。
0180デフォルトの名無しさん2006/01/09(月) 00:50:07
>>163
とりあえず、早めにVS2003.NETを買っておいた方がいいかも。
今はキャンペーン中で、thespokeバージョンをキャンペーン期間内に
購入した人は、無料でVS2005.NET professionalがダウンロードできます。

ttp://www.microsoft.com/japan/presspass/detail.aspx?newsid=2477

期間は明記されてないけど、どこかの噂で2月までとかという話も
聞いたので、入手するなら早めに手を打った方がいいでしょう。
0181デフォルトの名無しさん2006/01/09(月) 01:01:21
>>163
あとVS2003.NETから、VCも.NETアプリが作れるようになりましたが、
従来のwin32 apiを使ったアプリを作ることもできます。UIは
変わるけど、慣れればそっちの方が使いやすいでしょう。

ただし、VS2005.NETはとてもマシンのパワーを食います。
特にメモリは1Gくらいあった方がいいでしょう。
マシンスペックと相談してください。
0182デフォルトの名無しさん2006/01/09(月) 01:05:28
>>163
ついでに、今なら無料でVS2005.NET expressが入手できます。
(確かそのままの環境では、リソースエディタなし、consoleと
.NETアプリしか作れないはず。platform SDKをいれれば、
win32 apiのアプリも作れるらしい)

あと、VS2003.NETのコンパイラが必要なら、同じ無料で
VS 2003 toolkitというのがMSからダウンロードできます。
これとplatform SDKでwin32 apiのアプリが作れます。

心配なら、適当に試してみてください。
(ただし、2005expressはいろんなものをインストールしないと
いけなかったり、その際のバージョンの競合など問題も
あるようなのでよく確認のこと。)
0183デフォルトの名無しさん2006/01/09(月) 12:29:40
#include <stdio.h>

void main (void)

{
int byou,byou2;


for(byou=10;byou<=20;byou=byou+10)

printf("%d秒・・・",byou);

for(byou2=9;byou2<=2;byou2--)

printf("%d",byou2);

printf("\n");

printf("時間切れです。\n");

}

2番目のfor文が実行されない
0184デフォルトの名無しさん2006/01/09(月) 12:33:26
byou2<=2
byou2>=2
0185BASIC2006/01/09(月) 16:17:07
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい

年齢が30歳以下の人の、体重と身長の平均値を計算し表示する
0186デフォルトの名無しさん2006/01/09(月) 17:13:54
宿題はVIPでやれ
0187デフォルトの名無しさん2006/01/09(月) 20:03:52
こんにちは。質問なんですが。
VC2005Expressを使っています。
んで、ソフトのネタを思いついたので、
platformSDKとDirextX(Dec 2005)をインストールしてパスを通しました。
それで、ためし一番基本のチュートリアルをコンパイルしてみるとリンカエラーを起こしました。
おかしいと考えられるところはどこですか??

以下はエラーログです。
------ ビルド開始: プロジェクト: CreateDevice, 構成: Debug Win32 ------
リンクしています...
CreateDevice.obj : error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall MsgProc(struct HWND__ *,unsigned int,unsigned int,long)" (?MsgProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
CreateDevice.obj : error LNK2019: 未解決の外部シンボル __imp__ValidateRect@8 が関数 "long __stdcall MsgProc(struct HWND__ *,unsigned int,unsigned int,long)" (?MsgProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
・・・略・・・
CreateDevice.obj : error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 _WinMain@16 で参照されました。
Debug/CreateDevice.exe : fatal error LNK1120: 外部参照 11 が未解決です。
ビルドログは "file://c:\Documents and Settings\Tori\My Documents\Visual Studio Projects\CreateDevice\Debug\BuildLog.htm" に保存されました。
CreateDevice - エラー 12、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
0188デフォルトの名無しさん2006/01/09(月) 20:09:09
VCでMFC使ったアプリを作ってるんだけど、OSXみたいなきれいなボタンとかを
作れるようなツールとかは無いですか?
0189デフォルトの名無しさん2006/01/09(月) 20:27:02
>>187
libファイルを指定しなさい。
0190デフォルトの名無しさん2006/01/09(月) 20:49:26
>>189
反応感謝!
C:\Program Files\Microsoft Platform SDK\Lib
へのパスを通すだけじゃだめなんですね。プロジェクトに登録しないと。。。
今までIDE任せでやってたからどれがどれだかちょっとわからないなー。
ぐぐってみます。
非常に感謝!!
0191デフォルトの名無しさん2006/01/09(月) 20:55:25
>>189
やりました!!
#pragma comment( lib , "user32" )
を指定することでコンパイル通りました。
非常に感謝!!
0192デフォルトの名無しさん2006/01/09(月) 22:30:55
>>188
目の前のWindowsマシン捨ててMac買ってくるといいよ。
0193デフォルトの名無しさん2006/01/09(月) 22:34:11
>>188
そういうのはOS側のテーマでやれよ。
アプリごとのスキンの実装はツールじゃなくてビットマップ用意して自前でやれ。
0194デフォルトの名無しさん2006/01/10(火) 20:33:23
C言語の質問です。

#include<stdio.h>
int main(void){

char str[256][256];
char str2[256];
int i = 0;
FILE *file;

for(i; i<5; i++){
printf(">>");
gets(str[i]);
if((file = fopen(str[i], "r")) != NULL){
while(fgets(str2, 256, file) != NULL){
printf("%s", str2);
}
}
printf("ファイルが開けません\n");
}
fclose(file);
return 0;
}

このように、gets()で指定したファイル名のファイルを開きたいのですが
fopenの第1引数が定数じゃないためかファイルを開けません。
第1引数に変数を入れる上手い方法はないでしょうか?
もしなければ代用できる方法を教えて頂きたいです。
0195デフォルトの名無しさん2006/01/10(火) 20:38:23
>>194
errnoは?
0196デフォルトの名無しさん2006/01/10(火) 20:54:06
>>194
fopenの書式を調べてみたらいいかもね。
それでは引数の型が違うのでは?
0197デフォルトの名無しさん2006/01/10(火) 21:06:11
>>195
エラーの種類でしょうか?
errnoというものが初耳でして、良くわからないですが
試してみた所 2 と出ました。

>>196
fopenの第1引数は定数ということなので
194のソースでは正しくないのはわかっているのですが
同じような働きが期待できる他の書式はないかと思いまして・・・
0198デフォルトの名無しさん2006/01/10(火) 21:12:13
>>197
errnoが2ってのはNo such file or directoryの事だよ
fopen に渡してる第一引数をprintfして正しいかチェックしてミソ
0199デフォルトの名無しさん2006/01/10(火) 21:20:11
なるほど。
試してみたら正しく動きました。感謝です。
02001962006/01/10(火) 21:59:59
>>197
意味しているところが、ちょっと伝わらなかったみたいだけど・・・
ポインタと文字列、勉強してみてね。あと「定数」はconstを
言っていると思うんだけど、これは「変更しない」という意味なので、
文字通り定数だと思わないようにね。変数の値を変えないものも、
定数だから。
0201デフォルトの名無しさん2006/01/11(水) 11:23:22
ワードやエクセルはどんな開発ツール使ったの?
0202デフォルトの名無しさん2006/01/11(水) 11:46:29
(´・ω・`)知らんがな
0203デフォルトの名無しさん2006/01/11(水) 13:52:08
jpgからjpg2000に変換するDLLかライブラリを教えてください。
0204デフォルトの名無しさん2006/01/11(水) 13:53:21
(´・ω・`)知らんがな 
0205デフォルトの名無しさん2006/01/11(水) 14:10:16
>>200
どうやら意図したことと違うことを思ったみたいで申し訳ないです。
もう1度勉強してみます。
02061882006/01/11(水) 20:34:51
>>192
ありがとうございました。今すぐMac miniとコードウォーリアーを買ってきます。

>>193
サンクスコ。自力でやるしかないか
GTKだとスキンあるけど、インストールが大変だしなぁ・・・
0207デフォルトの名無しさん2006/01/11(水) 20:42:57
>>206
JavaならSwingのSynthででで
0208デフォルトの名無しさん2006/01/12(木) 09:58:56
MASMに関する質問です。

.detaセグメントで
hogetext byte 'hogehoge',0
のようにして文字で初期化するのと同じように
UNICODE文字を定義したいのですが、
hogetext word 'hogehoge',0
などとしてもerror(value too large)です。
細切れにして
hogetext word 'h','o','g','e','h','o','g','e',0
などとすれば一応なんとかならなくもないのですが
他にもっとスマートなやり方はないでしょうか?
0209デフォルトの名無しさん2006/01/12(木) 13:51:15
昔は、theSpokeサイトのヲチスレがあったと思いますが、
もうないんですか?
0210デフォルトの名無しさん2006/01/12(木) 15:57:36
あり得ない状況なのですが、メモリが無限にあったら
malloc/new は必ず成功するという認識で良いのでしょうか?
0211デフォルトの名無しさん2006/01/12(木) 16:04:39
いいえ
0212デフォルトの名無しさん2006/01/12(木) 16:18:37
ヒープを確保できなかったとき以外でエラーが返るケースはないんじゃね
0213デフォルトの名無しさん2006/01/12(木) 16:58:00
便乗質問です
malloc → new
free → delete
と置きかえると、reallocはC++でなにに置きかえ可能ですか?
また、newで確保したものを、reallocする事は可能ですか?
0214デフォルトの名無しさん2006/01/12(木) 17:06:38
>>213
不可
02152132006/01/12(木) 17:13:14
ありがとう
置きかえするの、やめました
0216デフォルトの名無しさん2006/01/12(木) 19:08:24
>>213
placement new
0217デフォルトの名無しさん2006/01/12(木) 20:21:53
AS/400をASP.NETから起動する方法を知りたいんですが、
教えていただけますか。
0218デフォルトの名無しさん2006/01/12(木) 21:50:49
>>213
std::vectorを使えば解決。
0219デフォルトの名無しさん2006/01/12(木) 22:35:24
DirectX9.0SDKの日本語版ドキュメントをインストールしたのですが、
C:\Program Files\Microsoft\DirectX 9.0 JPN Docフォルダ配下に
DirectX9*.Hx? といったファイルしか生成されません。

これを読むにはどうすればよいのでしょうか?
VisualStudio2003はインストール済みです。
0220デフォルトの名無しさん2006/01/12(木) 22:40:34
>>219
Visual Studio .NET 2003のヘルプで読む
0221デフォルトの名無しさん2006/01/12(木) 22:52:44
>>210
ポインタが取り得る値をすべて使い尽くしたらそれ以上 new できないのは自明です。
ポインタサイズは有限なので new できる回数も有限です。
したがってメモリが無限にあったとしても new が必ず成功する訳ではありません。

え、ポインタサイズが無限大だったら?
操作に無限の時間がかかるから、最初の new が完了しない、すなわち new は成功しません。

>>212
メモリが無限にあってもヒープを確保できる保証はありません。
0222デフォルトの名無しさん2006/01/12(木) 23:19:16
どうでもいい
0223デフォルトの名無しさん2006/01/13(金) 00:15:47
全く分からないんですが
Javaアプレットが使えるようになるにはどうすればいいんでしょうか?
javaは完全に初心者です。C、pascal、フォートランはつかったことあるんですが。
ここにあるのを使いたいんです。
http://www.flow.human.nagoya-u.ac.jp/~mine/simu.html
困ってます。誰かたしけて
02242192006/01/13(金) 00:22:39
>>220
ああ、なんとなく見つけました。
連結とかいうやつですね。
ありがとうございました。
0225デフォルトの名無しさん2006/01/13(金) 01:42:16
ワームのように増殖して、良い事(ウィルス撃退、なにかのパッチを当てる)を勝手にしてくれる
ソフトウェアってこの世に存在するのでしょうか?
そんな事を考え出したら、夜も眠れなくなりました。
0226デフォルトの名無しさん2006/01/13(金) 01:45:20
ウィルスによって改竄されたファイルを修正するワームとか
セキュリティホールを修正して他マシンに複製されたら
自己あぼーんっていうウィルスもいくつかあったような気がする
0227デフォルトの名無しさん2006/01/13(金) 01:55:10
ありがとうございます。
そういうよいことをする感染増殖型ソフトウェアって一般的な
名前ってついてるんでしょうかね。。
ワームやウィルスという言葉自体には、良い悪いって意味合いは
ないのだから、ウィルスはウィルス?
0228デフォルトの名無しさん2006/01/13(金) 21:07:28
いずれにせよ、勝手に人のマシン内をいじくりまわすのは悪であるからという観点で
対ウィルスソフトウェアベンダは全部、それさえも悪ウィルスとして検出する
0229デフォルトの名無しさん2006/01/13(金) 21:56:12
char cTemp[5000][5000]
というような大きな配列を使いたいのですが,実行するとセグメンテーションエラーが起きてしまいます.
こういう場合どうすれば良いのでしょうか.配列を分割するしかないのでしょうか・・・
0230デフォルトの名無しさん2006/01/13(金) 22:14:43
>>227
たとえば感染した先が一般的な構成でなかった場合にも正常に動作するのだろうか?
そのソフトにセキュリティホールがあり作業中に別のウィルスに感染したら?

そういう事を考えると勝手に入ってきて色々やって行くのは危険極まりない
0231デフォルトの名無しさん2006/01/13(金) 22:17:46
>>229
そんなでかい配列スタックに取ったら死ぬ。
mallocでヒープに取るかstaticにするか(これは意味が変わるが)しとけ。
0232デフォルトの名無しさん2006/01/13(金) 22:34:42
>>231
レスサンクスです!
0233デフォルトの名無しさん2006/01/14(土) 01:00:33
スタックサイズをアホみたいに上げるっていう手もあるが。。
0234デフォルトの名無しさん2006/01/14(土) 01:12:36
ビットマップファイルを加工するソフトを作りたいのですが、
何をどうすれば良いか右も左も分からない状態なのでアドバイスをください。
C言語は勉強しました。
インターフェイスはWindowsのものを借りたいです。
0235デフォルトの名無しさん2006/01/14(土) 01:17:43
>>234
ビットマップファイルの構造を調べて読み込めるようになると良いんじゃない?
0236デフォルトの名無しさん2006/01/14(土) 01:18:54
>>234
何がやりたいのかはっきりさせた上でぐぐって調べろ
どうしてもわからない所がでてきたら質問を明確にして画像処理のスレで聞け
0237初心者2006/01/14(土) 04:44:32
作成するプログラムに付ける名前について質問でありますが、
単独のプログラムに ○○システム という名前を付けても良いと思われますか?
通常、システムと言うと、複数のプログラムなどで構成されていたりすると思うので
0238デフォルトの名無しさん2006/01/14(土) 09:39:27
辞書引けよ
02392342006/01/14(土) 10:29:48
>>235
>>236
ありがとうございましたm(_ _)m
0240デフォルトの名無しさん2006/01/14(土) 11:24:53
ド素人なC言語の質問です。

#include <process.h>
をしたあと
hThread[0] = (HANDLE) _beginthreadex(NULL,0,thread1,NULL,0,NULL);
をすると、「未解決の外部シンボル __beginthreadex が関数 _main で参照されました」
といわれてビルドできません。
process.h 中に_beginthreadexはあるし、意味がわからなくて困っています。

Visual C++で、コンソールアプリケーション→空のプロジェクト
からやっていて、↑のものは雑誌のものそのまま直うつしなのですが、
解決方法ご存知の方、教えてくださいお願いします。
0241デフォルトの名無しさん2006/01/14(土) 11:31:07
>>240
マルチスレッド版CRTを使用する設定にしろ。
0242&rlo;2006/01/14(土) 12:15:30
あの、猫でも〜のところで、
C言語学んでるのですが
このページに書いてあるhttp://www.kumei.ne.jp/c_lang/intro/no_09.htm
の

「文字'N(数字)'のアスキーコードから48をひくと、文字'N'を数値に変換できる!!!」

これは、どういう意味なのでしょうか?

教えてください。
アスキーコード表
http://www.shibu.jp/cppreference/ascii.html
0243デフォルトの名無しさん2006/01/14(土) 12:24:43
'0' = 48
'0' - 48 = 0
0244デフォルトの名無しさん2006/01/14(土) 16:00:45
>>242
243のとおりだけど実際には48ではなく'0'を引くほうが良い。
世の中全てASCIIだけとは限らない。
0245デフォルトの名無しさん2006/01/14(土) 16:21:49
猫でもページってなんか微妙にわかりにくい。
まあ、本職医者だしな。
0246デフォルトの名無しさん2006/01/14(土) 17:48:27
>>245
WinAPIサンプル集としては量があるから便利。
C++は糞。MFC編は目も当てられない。
0247デフォルトの名無しさん2006/01/14(土) 20:29:48
うるせー、死ね。
0248デフォルトの名無しさん2006/01/15(日) 00:47:42
ファイルへのログ出力の実装について質問です。
下記のうち、どのように実装するのがよいのでしょうか。

ログ出力オブジェクトをシングルトンとし、シンクロナイズドなメソッドでログ出力する
ログ出力オブジェクトをシングルトンとし、シンクロナイズドでないメソッドでログ出力する
ログ出力オブジェクトをシングルトンとして出力要請をプールするキューを持たせ、独自スレッドで動かす
ログ出力オブジェクトを必要に応じて作成し、出力ストリームだけ共有する
0249デフォルトの名無しさん2006/01/15(日) 01:23:22
マルチスレッドでログ出力にアクセスする場合、
少なくともスレッドセーフにしておかないと、
write-writeで衝突したときに想定外の事態が起こる。

1番でいいような気がする。
ログ出力のためだけにスレッド作るのもなんかあほらしいし。
02502482006/01/15(日) 02:27:52
>>249
ありがとうございます。
やはりスレッドセーフでなければいけませんか。
まあ、ログ出力は致命的に重くなるほど繰り返し呼ばれるでもないので、
シンクロナイズドにします。
0251デフォルトの名無しさん2006/01/15(日) 02:35:36
小林カツ代エクスプローラーを作っているのですが、
小林カツ代さんに許可を得なくて大丈夫でしょうか?
0252デフォルトの名無しさん2006/01/15(日) 06:15:16
商標登録されてなければ大丈夫
商標権侵害で「鶴亀メール」が「秀丸メール」に名称変更したのを思い出した。
http://hide.maruo.co.jp/news/hidemarumail20051207.html
■ このスレッドは過去ログ倉庫に格納されています